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.IO; 
 | 
using System.Web; 
 | 
using System.Web.Http; 
 | 
using WebAPI.Models; 
 | 
  
 | 
namespace WebAPI.Controllers 
 | 
{ 
 | 
    //工序出站汇报单Controller 
 | 
    public class Cj_StationOutBillController : ApiController 
 | 
    { 
 | 
        public DBUtility.ClsPub.Enum_BillStatus BillStatus; 
 | 
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); 
 | 
  
 | 
        private json objJsonResult = new json(); 
 | 
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
        DataSet ds; 
 | 
        DataSet ds1; 
 | 
        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; 
 | 
  
 | 
        #region 新增单据-保存按钮 
 | 
        [Route("Cj_StationOutBill/AddBill")] 
 | 
        [HttpPost] 
 | 
        public object AddBill([FromBody] JObject oMain) 
 | 
        { 
 | 
            var _value = oMain["oMain"].ToString(); 
 | 
            string msg1 = _value.ToString(); 
 | 
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            try 
 | 
            { 
 | 
                //反序列化 
 | 
                string msg2 = "[" + sArray[0].ToString() + "]"; 
 | 
                string user = sArray[1].ToString();//用户名 
 | 
  
 | 
                //判断是否有编辑权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无编辑权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
  
 | 
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2); 
 | 
                long HMainInterID = 0; 
 | 
                HMainInterID = list[0].HMainInterID; 
 | 
                string eventType = list[0].eventType; 
 | 
                string BillType = "3791"; 
 | 
                string HBillSubType = "3791"; 
 | 
                long HInterID = list[0].HInterID;//递入type得到的单据ID 
 | 
                string HBillNo = list[0].HBillNo;//递入type得到的单据号 
 | 
                int HBillStatus = 0; 
 | 
                string HMaker = list[0].HMaker;//制单人 
 | 
                string HMouldNum = list[0].HMouldNum;//模穴号 
 | 
                int HYear = 2021; 
 | 
                double HPeriod = 1; 
 | 
                string HRemark = list[0].HRemark;//备注 
 | 
                string HSourceName = list[0].HSourceName;//生产资源名称 
 | 
                double HPieceQty = list[0].HPieceQty;//进站PCS数 
 | 
                double HWasterQty = list[0].HWasterQty;//报废数量 
 | 
                double HPlanPieceQty = list[0].HPlanPieceQty;//进站PNL数 
 | 
                double HBadPNL = list[0].HBadPNL;//报废PNL数 
 | 
                long HICMOInterID = list[0].HICMOInterID;//任务单ID 
 | 
                string HICMOBillNo = list[0].HICMOBillNo;//任务单 
 | 
                int HProcPlanInterID = 0; 
 | 
                int HProcPlanEntryID = 0; 
 | 
                string HProcPlanBillNo = ""; 
 | 
                long HProcExchInterID = list[0].lngBillKey; 
 | 
                long HProcExchEntryID = list[0].lngBillSubKey; 
 | 
                string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡 
 | 
                long HMaterID = list[0].HMaterID;//产品ID 
 | 
                long HProcID = list[0].HProcID;//当前工序ID 
 | 
                double HICMOQty = list[0].HICMOQty;//任务单数量 
 | 
                double HPlanQty = list[0].HPlanQty;//移交PNL数 
 | 
                DateTime HStationOutTime = list[0].HStationOutTime;//汇报时间 
 | 
                long HSourceID = list[0].HSourceID;//生产资源ID 
 | 
                long HPayProcID = list[0].HPayProcID;//核算工序ID 
 | 
                long HGroupID = list[0].HGroupID;//班组ID 
 | 
                long HDeptID = 0; 
 | 
                long HEmpID = list[0].HEmpID;//操作员ID 
 | 
                string HBarCode = list[0].HBarCode;//条形码 
 | 
                string HAddr = ""; 
 | 
                string HBarCodeMaker = ""; 
 | 
                long HSourceID2 = list[0].HSourceID2;//生产资源2ID 
 | 
                long HSourceID3 = list[0].HSourceID3;//生产资源3ID 
 | 
                long HSourceID4 = list[0].HSourceID4;//生产资源4ID 
 | 
                long HSourceID5 = list[0].HSourceID5;//生产资源5ID 
 | 
                long HSupID = 0; 
 | 
                double HQty = list[0].HQty;//合格数量 
 | 
                double HPrice = 0; 
 | 
                double HMoney = 0; 
 | 
                double HBadCount = list[0].HBadCount;//不良数量 
 | 
                long HCenterID = list[0].HCenterID;//工作中心ID 
 | 
                long HProcNo = list[0].HProcNo;//流水号 
 | 
                string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号 
 | 
                string HSourceNameList = list[0].HSourceNameList;//设备清单 
 | 
                long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID 
 | 
                string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号 
 | 
                string HMainSourceBillType = "3790"; 
 | 
                bool HLastSubProc = list[0].HLastSubProc;//转下工序 
 | 
                long HEmpID2 = list[0].HEmpID2;//操作员2ID 
 | 
                long HEmpID3 = list[0].HEmpID3;//操作员3ID 
 | 
                long HEmpID4 = list[0].HEmpID4;//操作员4ID 
 | 
                long HEmpID5 = list[0].HEmpID5;//操作员5ID 
 | 
                double HDSQty = list[0].HDSQty;//折弯刀数 
 | 
                double HChongQty = list[0].HChongQty;//NCT冲次数 
 | 
                double HPriceRate = list[0].HPriceRate;//系数 
 | 
                double HWorkTimes = list[0].HWorkTimes;//工时 
 | 
                long HQCCheckID = list[0].HQCCheckID;//检验员ID 
 | 
                //单据完整性判断 
 | 
                if (HProcExchInterID <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HProcExchEntryID <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "流水号没有选择!请输入流水号后回车"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HProcNo <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "流水号没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HProcExchBillNo == "") 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "流转卡号没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HMaterID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "产品没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HGroupID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "生产班组没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                if (HProcID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "当前工序没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HEmpID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "操作员没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HQCCheckID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "检验员没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HSourceID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "生产资源没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HCenterID == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "工作中心没有选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HQty + HWasterQty <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "合格数量加报废数量不能为0!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (HWorkTimes <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "工时必须大于0!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //if (HEmpID2 == 0 ) 
 | 
                //{ 
 | 
                //    objJsonResult.code = "0"; 
 | 
                //    objJsonResult.count = 0; 
 | 
                //    objJsonResult.Message = "操作员2没有选择!"; 
 | 
                //    objJsonResult.data = null; 
 | 
                //    return objJsonResult; 
 | 
                //} 
 | 
                //if (HEmpID3 == 0 ) 
 | 
                //{ 
 | 
                //    objJsonResult.code = "0"; 
 | 
                //    objJsonResult.count = 0; 
 | 
                //    objJsonResult.Message = "操作员3没有选择!"; 
 | 
                //    objJsonResult.data = null; 
 | 
                //    return objJsonResult; 
 | 
                //} 
 | 
                //if (HEmpID4 == 0 ) 
 | 
                //{ 
 | 
                //    objJsonResult.code = "0"; 
 | 
                //    objJsonResult.count = 0; 
 | 
                //    objJsonResult.Message = "操作员4没有选择!"; 
 | 
                //    objJsonResult.data = null; 
 | 
                //    return objJsonResult; 
 | 
                //} 
 | 
                //if (HEmpID5 == 0 ) 
 | 
                //{ 
 | 
                //    objJsonResult.code = "0"; 
 | 
                //    objJsonResult.count = 0; 
 | 
                //    objJsonResult.Message = "操作员5没有选择!"; 
 | 
                //    objJsonResult.data = null; 
 | 
                //    return objJsonResult; 
 | 
                //} 
 | 
                //若MAINDI重复则重新获取 
 | 
                oCN.BeginTran(); 
 | 
                if ("Add".Equals(eventType)) 
 | 
                { 
 | 
                    if (!AllowbillNo(HBillNo)) 
 | 
                    { 
 | 
                        oCN.RollBack(); 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "单据号重复!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    oCN.RunProc("Insert Into Sc_StationOutBillMain " + 
 | 
                    "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" + 
 | 
                    ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" + 
 | 
                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + 
 | 
                    ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" + 
 | 
                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" + 
 | 
                    ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" + 
 | 
                    ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" + 
 | 
                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID" + 
 | 
                    ") " + 
 | 
                    " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" + 
 | 
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL + 
 | 
                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + 
 | 
                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID + 
 | 
                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 + 
 | 
                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" + 
 | 
                    "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) + 
 | 
                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + 
 | 
                    ") "); 
 | 
                } 
 | 
                else if ("Modify".Equals(eventType)) 
 | 
                { 
 | 
                    oCN.RunProc("UpDate Sc_StationOutBillMain set  " + 
 | 
                    "HUpDater='" + HMaker + "'" + 
 | 
                    ",HUpDateDate=getdate()" + 
 | 
                    ",HSourceName='" + HSourceName + "'" + 
 | 
                    ",HRemark='" + HRemark + "'" + 
 | 
                    ",HQCCheckID=" + HQCCheckID + 
 | 
                    ",HEmpID=" + HEmpID + 
 | 
                    ",HEmpID2=" + HEmpID2 + 
 | 
                    ",HEmpID3=" + HEmpID3 + 
 | 
                    ",HEmpID4=" + HEmpID4 + 
 | 
                    ",HEmpID5=" + HEmpID5 + 
 | 
                    ",HSourceID=" + HSourceID + 
 | 
                    ",HSourceID2=" + HSourceID2 + 
 | 
                    ",HSourceID3=" + HSourceID3 + 
 | 
                    ",HSourceID4=" + HSourceID4 + 
 | 
                    ",HSourceID5=" + HSourceID5 + 
 | 
                    ",HPayProcID=" + HPayProcID + 
 | 
                    ",HWorkTimes=" + HWorkTimes + 
 | 
                    ",HSaveBillFlag=0 " + 
 | 
                    ",HPieceQty=" + HPieceQty + 
 | 
                    ",HQty=" + HQty + 
 | 
                    ",HDSQty=" + HDSQty + 
 | 
                    ",HChongQty=" + HChongQty + 
 | 
                    ",HMouldNum='" + HMouldNum + "'" + 
 | 
                    ",HSourceNameList='" + HSourceNameList + "'" + 
 | 
                    ",HWasterQty=" + HWasterQty + 
 | 
                    ",HLastSubProc=" + Convert.ToString(HLastSubProc ? 1 : 0) + 
 | 
                    " where HInterID=" + HInterID); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    oCN.RollBack(); 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "操作类型无效!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //主表 
 | 
  
 | 
                ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_QtyCtrl " + HInterID + "", "h_p_MES_StationOutBill_QtyCtrl"); 
 | 
                if (ds == null) 
 | 
                { 
 | 
                    oCN.RollBack(); 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "判断数量失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    oCN.RollBack(); 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "判断数量失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") 
 | 
                { 
 | 
                    oCN.RollBack(); 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "数量控制," + ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Out " + HInterID + ",1"); 
 | 
                oCN.RunProc("exec h_p_Mes_ProcessExchangeChangeStatus  " + HInterID + " "); 
 | 
                oCN.RunProc("exec h_p_Mes_StationOutBillBackBarCode  " + HInterID + " "); 
 | 
                //判断是否是 末道工序  
 | 
                ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a  " + 
 | 
                                    " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID  " + 
 | 
                                    " Where a.HInterID=" + HProcExchInterID + " and b.HEntryID=" + HProcExchEntryID + " ", "Sc_ProcessExchangeBillMain"); 
 | 
                if (ds1 == null || ds1.Tables[0].Rows.Count == 0 || HLastSubProc == false) 
 | 
                { 
 | 
  
 | 
                } 
 | 
                else if (ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HLastProc"]) == "是") 
 | 
                { 
 | 
  
 | 
                } 
 | 
                oCN.Commit(); 
 | 
                string sReturn = ""; 
 | 
                if (oSystemParameter.ShowBill(ref sReturn) == true) 
 | 
                { 
 | 
                    if (oSystemParameter.omodel.MES_StationOutBill_SaveAutoAddnew == "Y") //系统参数  自动审核  
 | 
                    { 
 | 
                        objJsonResult.Verify = "Y"; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        objJsonResult.Verify = "N"; 
 | 
                    } 
 | 
                } 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "新增单据成功!"; 
 | 
                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; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private bool AllowbillNo(string HBillNo) 
 | 
        { 
 | 
            ds = oCN.RunProcReturn("select HBillNo from Sc_StationOutBillMain where  HBillNo = '" + HBillNo + "'", "Sc_StationOutBillMain"); 
 | 
            if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
            { 
 | 
                return true; 
 | 
            } 
 | 
            return false; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 返回工序出站汇报单列表 
 | 
        [Route("Cj_StationOutBill/get_Display")] 
 | 
        [HttpGet] 
 | 
        public object get_Display(string sWhere,string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断是否有查询权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查询权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList  order by hmainid desc", "h_v_MES_StationOutBillList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    string sql1 = "select * from h_v_MES_StationOutBillList where 1 = 1 "; 
 | 
                    string sql = sql1 + sWhere+ "  order by hmainid desc"; 
 | 
                    ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList"); 
 | 
                } 
 | 
  
 | 
                //if (ds.Tables[0].Rows.Count != 0 || ds != null) 
 | 
                //{ 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                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 = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 编辑页面根据id获取工序出站汇报单信息 
 | 
        [Route("Cj_StationOutBill/GetStationOutBill")] 
 | 
        [HttpGet] 
 | 
        public object GetStationOutBill(int HInterID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill where HInterID = " + HInterID, "h_v_GetStationOutBill"); 
 | 
                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/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; 
 | 
                } 
 | 
                 
 | 
                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() + "','" + 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> 
 | 
        /// 输出json结果 返回2个值 result (输出succes的值)   returnval (输出str的值) 
 | 
        /// </summary> 
 | 
        /// <param name="context"></param> 
 | 
        /// <param name="success">是否操作成功,0表示失败;1表示成功</param> 
 | 
        /// <param name="str">输出字符串</param> 
 | 
        protected void JsonResult(HttpContext context, int success, string str) 
 | 
        { 
 | 
            context.Response.Write("{\"result\" :\"" + success.ToString() + "\",\"returnval\" :\"" + str + "\"}"); 
 | 
            context.Response.End(); 
 | 
        } 
 | 
  
 | 
         
 | 
        /// <summary> 
 | 
        /// 根据单据号查找上传文件列表 
 | 
        /// </summary> 
 | 
        /// <param name="sWhere"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Cj_StationOutBill/Filelist")] 
 | 
        [HttpGet] 
 | 
        public object Filelist(string HBillNo) 
 | 
        { 
 | 
            var url = fileip + "/files/" + 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_StationOutBill/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/" + 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 
 | 
  
 | 
        #region 根据id删除出站单 
 | 
        [Route("Cj_StationOutBill/del_StationOutBill")] 
 | 
        [HttpGet] 
 | 
        public object del_StationOutBill(long HInterID, string HDeleteMan) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
  
 | 
                //编辑权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, HDeleteMan)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill(); 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin")) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "只能删除本人的单据!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
 | 
                    DataSet ds; 
 | 
                    //判断是否存在 相同单据号 的领料单 判断生产订单是否已结案,要求计划手工反结案     
 | 
                    ds = oCn.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl"); 
 | 
                    if (ds == null) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "判断关联失败!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]); 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    if (oBill.omodel.HChecker != "") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "单据已经审核,不能删除!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    //写入删除日志  
 | 
                    string WorkList = "删除出站单:" + oBill.omodel.HBillNo; 
 | 
                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, 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 = "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; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 编辑前判断 
 | 
        [Route("Cj_StationOutBill/set_ShowBillJudge")] 
 | 
        [HttpGet] 
 | 
        public object set_ShowBillJudge(string HBillNo) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "判断关联失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]); 
 | 
                    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/set_CheckBill")] 
 | 
        [HttpGet] 
 | 
        public object set_CheckBill(int HInterID, string CurUserName) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string ModRightNameCheck = "Cj_StationOutBill_Check"; 
 | 
                ////审核权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 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; 
 | 
                } 
 | 
                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill(); 
 | 
                //查看是否已审核,关闭,作废 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    if (oBill.omodel.HChecker.Trim() != "") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "单据已审核!不能再次审核"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //审核 
 | 
                if (Cj_StationOutBillCheckBill(HInterID, CurUserName, oBill.omodel.HLastSubProc, 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; 
 | 
                } 
 | 
  
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "审核失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //审核 
 | 
        public bool Cj_StationOutBillCheckBill(Int64 lngBillKey, string CurUserName,bool HLastSubProc, ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string HChecker = CurUserName; 
 | 
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); 
 | 
                oCN.BeginTran(); 
 | 
                ds = oCN.RunProcReturn("Select * from Sc_StationOutBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain"); 
 | 
                if (ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sReturn = "单据未找到!"; 
 | 
                    return false; 
 | 
                } 
 | 
                oCN.RunProc(" Update Sc_StationOutBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); 
 | 
                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1"); 
 | 
                //判断是否是 末道工序 
 | 
                DataSet ds1; 
 | 
                ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " + 
 | 
                    " from Sc_ProcessExchangeBillMain a " + 
 | 
                    " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + 
 | 
                    " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ") " + 
 | 
                    " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain"); 
 | 
                if (ds1 == null || ds1.Tables[0].Rows.Count == 0 || HLastSubProc ==false) 
 | 
                { 
 | 
                } 
 | 
                else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "是") 
 | 
                { 
 | 
                } 
 | 
                sReturn = sReturn + " 审核功能!"; 
 | 
                oCN.Commit(); 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                oCN.RollBack(); 
 | 
                return false; ; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 反审核 
 | 
        [Route("Cj_StationOutBill/set_AbandonCheck")] 
 | 
        [HttpGet] 
 | 
        public object set_AbandonCheck(int HInterID, string CurUserName) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string ModRightNameCheck = "Cj_StationOutBill_Check"; 
 | 
                ////审核权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 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; 
 | 
                } 
 | 
                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill(); 
 | 
                //查看是否已审核,关闭,作废 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    if (oBill.omodel.HChecker.Trim() == "") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "单据未审核!不需要反审核!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //反审核 
 | 
                if (Cj_StationOutBillAbandonCheckBill(HInterID, CurUserName, oBill.omodel.HLastSubProc, 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; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "反审核失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //反审核 
 | 
        public bool Cj_StationOutBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, bool HLastSubProc, ref string sReturn) 
 | 
        { 
 | 
            if (Cj_StationInBillisUse(lngBillKey, ref sReturn)) 
 | 
            { 
 | 
                return false; 
 | 
            } 
 | 
            try 
 | 
            { 
 | 
                string HChecker = CurUserName; 
 | 
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); 
 | 
                oCN.BeginTran(); 
 | 
                ds = oCN.RunProcReturn("Select * from Sc_StationOutBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain"); 
 | 
                if (ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sReturn = "单据未找到!"; 
 | 
                    return false; 
 | 
                } 
 | 
  
 | 
                oCN.RunProc(" Update Sc_StationOutBillMain set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString()); 
 | 
                //oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_Out " + lngBillKey.ToString() + ",-1"); 
 | 
                //判断是否是 首道工序 
 | 
                DataSet ds1; 
 | 
                ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " + 
 | 
                    " from Sc_ProcessExchangeBillMain a " + 
 | 
                    " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + 
 | 
                    " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ") " + 
 | 
                    " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain"); 
 | 
                if (ds1 == null || ds1.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                } 
 | 
                else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "是") 
 | 
                { 
 | 
                } 
 | 
                sReturn = sReturn + "反审核功能!"; 
 | 
                oCN.Commit(); 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                oCN.RollBack(); 
 | 
                return false; ; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //是否被关联 
 | 
        public bool Cj_StationInBillisUse(Int64 lngBillKey, ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //查询主表 
 | 
                DataSet Ds; 
 | 
                //Ds = oCN.RunProcReturn("Select HinterID from " + MvarItemKeySub + "  Where HInterID=" + lngBillKey.ToString() + " and isnull(HRelationQty,0)<>0 ", MvarItemKey); 
 | 
                //if (Ds.Tables[0].Rows.Count != 0) 
 | 
                //{ 
 | 
                //    sReturn = "单据已被关联,不能操作!"; 
 | 
                //    return true; 
 | 
                //} 
 | 
                sReturn = ""; 
 | 
                return false; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        //批量出站 
 | 
        #region 批量出站模块返回明细信息列表 
 | 
        [Route("Cj_StationOutBill/get_BarCodeDetail")] 
 | 
        [HttpGet] 
 | 
        public object get_BarCodeDetail(string HMainInterID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn( 
 | 
                    "select a.HBillNo,a.HInterID,a.HQty,a.HProcExchBillNo,a.HICMOBillNo" + 
 | 
                    ",b.HNumber HMaterNumber,b.HName HMaterName,b.HModel HMaterModel,c.HName HSourceName,d.HName HGroupName" + 
 | 
                    ",e.HName HEmpName,a.HMaker,a.HMakeDate " + 
 | 
                    " from Sc_StationOutBillMain a " + 
 | 
                    " left join Gy_Material b on a.HMaterID = b.HItemID " + 
 | 
                    " left join Gy_Source c on a.HSourceID = c.HItemID " + 
 | 
                    " left join Gy_Group d on a.HGroupID = d.HItemID " + 
 | 
                    " left join Gy_Employee e on a.HEmpID = e.HItemID " + 
 | 
                    " where HMainInterID = " + HMainInterID + " order by a.HMakeDate desc", "Sc_StationOutBillMain"); 
 | 
                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 = "返回记录成功!"; 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
  
 | 
         
 | 
    } 
 | 
} 
 |