yusijie
2023-02-22 f46017c7fc76869b18a7927afe4756c41e2763cf
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
18个文件已修改
4个文件已添加
1432 ■■■■■ 已修改文件
DAL/DAL.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/基础资料/公用基础资料/ClsGy_Warehouse_View.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/车间管理/ClsSc_ProcExchWorkBackBill.cs 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/车间管理/ClsSc_ProcessExchangeBill.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/车间管理/ClsSc_ProcExchWorkBackBillMain.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/车间管理/ClsSc_ProcExchWorkBackBillSub.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/车间管理/ClsSc_ProcessExchangeBillMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs 402 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs 142 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/LMESController.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormImportController.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/Sc_WorkBillSortBillController.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_ProcessMangementController.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Gy_RoutingBillSub.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/DAL.csproj
@@ -621,6 +621,7 @@
    <Compile Include="质检管理\ClsQC_POStockInCheckBill.cs" />
    <Compile Include="质检管理\ClsQC_ProcessCheckBill.cs" />
    <Compile Include="质检管理\ClsQC_ProdReportCheckBill.cs" />
    <Compile Include="车间管理\ClsSc_ProcExchWorkBackBill.cs" />
    <Compile Include="车间管理\ClsSc_CutMaterProcExchBill.cs" />
    <Compile Include="车间管理\ClsSc_MaterBackBill.cs" />
    <Compile Include="车间管理\ClsSc_MaterDownBill.cs" />
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsGy_Warehouse_View.cs
@@ -66,7 +66,26 @@
            {
                throw (e);
            }
        }
        }
        //根据代码返回项目信息
        public override bool GetInfoByName(string sNumber)
        {
            DataSet DS;
            try
            {
                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HName='" + sNumber + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    return GetInfo(DS);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //返回项目信息
        public override bool GetInfo(DataSet Ds)
        {
DAL/³µ¼ä¹ÜÀí/ClsSc_ProcExchWorkBackBill.cs
New file
@@ -0,0 +1,136 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
    public  class ClsSc_ProcExchWorkBackBill : DBUtility.ClsXt_BaseBill
    {
        public Model.ClsSc_ProcExchWorkBackBillMain omodel = new Model.ClsSc_ProcExchWorkBackBillMain();
        public List<Model.ClsSc_ProcExchWorkBackBillSub> DetailColl = new List<Model.ClsSc_ProcExchWorkBackBillSub>();
        public ClsSc_ProcExchWorkBackBill()
        {
            base.MvarItemKeySub = "Sc_ProcExchWorkBackBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey= "Sc_ProcExchWorkBackBillMain";
            base.MvarReportTitle= "工序返工申请单";
            base.BillType = "3796";
            base.HBillSubType = "3796";
        }
        #region å›ºå®šä»£ç 
        ~ClsSc_ProcExchWorkBackBill()
        {
            DetailColl = null;
        }
        #endregion   è‡ªå®šä¹‰æ–¹æ³•
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //
                oCn.BeginTran();
                //更新主表
                oCn.RunProc("UpDate Sc_ProcExchWorkBackBillMain 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_ProcExchWorkBackBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (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);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
                oCn.RunProc("insert Into Sc_ProcExchWorkBackBillMain(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_ProcExchWorkBackBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (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);
            }
        }
    }
}
DAL/³µ¼ä¹ÜÀí/ClsSc_ProcessExchangeBill.cs
@@ -293,9 +293,8 @@
                ",HProdMaterCode,HSeOrderBillNo,HCusShortName,HCusNeedMaterial,HPlanSendGoodsDate" +
                ",HProdMaterName,HCusName,HWorkRemark,HImportNote,HMaterNumber_A" +
                ",HMaterNumber_B,HMaterNumber_C,HMaterNumber_D,HProdType,HMaterShortName" +
                ",HMaterIDA,HMaterIDB,HMaterIDC,HMaterIDD,HICMOEntryID" +
                ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HPRDORGID,HBLFlag,HCusNumber,HPickLabel,HPickLabelNumber,HXTNumber,HXTModel,HWorkBillSortNo" +
                ") " +
                ",HMaterIDA,HMaterIDB,HMaterIDC,HMaterIDD,HICMOEntryID" +        ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HPRDORGID,HBLFlag,HCusNumber,HPickLabel,HPickLabelNumber,HXTNumber,HXTModel,HWorkBillSortNo" +
               ", HRoutingBillID) " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()," + "" + (omodel.HPrevMainSourceInterID == 0 ? omodel.HInterID : omodel.HPrevMainSourceInterID) +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HBatchNo + "'," + omodel.HMainMaterID.ToString() + "," + omodel.HKeyMaterID.ToString() + "," + omodel.HNo.ToString() + ",'" + omodel.HOrderProcNO + "'" +
                "," + omodel.HWWOrderInterID.ToString() + "," + omodel.HWWOrderEntryID.ToString() + ",'" + omodel.HWWOrderBillNo + "'," + omodel.HICMOInterID.ToString() + "," + omodel.HEquipMentID.ToString() +
@@ -307,7 +306,7 @@
                ",'" + omodel.HMaterNumber_B + "','" + omodel.HMaterNumber_C + "','" + omodel.HMaterNumber_D + "','" + omodel.HProdType + "','" + omodel.HMaterShortName + "'" +
                ",'" + omodel.HMaterIDA + "','" + omodel.HMaterIDB + "','" + omodel.HMaterIDC + "','" + omodel.HMaterIDD + "'," + omodel.HICMOEntryID +
                ",'" + omodel.HPicNumVer + "','" + omodel.HPicNumAssemble + "','" + omodel.HMaterTexture + "','" + omodel.HProductNum + "','" + omodel.HVerNum + "','"+ omodel.HPRDORGID+ "','"+omodel.HBLFlag+ "','" + omodel.HCusNumber + "','" + omodel.HPickLabel + "','" + omodel.HPickLabelNumber + "','" + omodel.HXTNumber + "','" + omodel.HXTModel + "','" + omodel.HWorkBillSortNo + 
                "') ");
                "',"+ omodel.HRoutingBillID + ") ");
                sErr = sErr + "1;";
                //插入子表
                foreach (Model.ClsSc_ProcessExchangeBillSub oSub in DetailColl)
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_ProcExchWorkBackBillSub.cs" />
    <Compile Include="车间管理\ClsSc_ProcExchWorkBackBillMain.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipWorkBeforeCheckBillMain.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipWorkBeforeCheckBillSub.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipStockInCheckBillSub.cs" />
Model/³µ¼ä¹ÜÀí/ClsSc_ProcExchWorkBackBillMain.cs
New file
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsSc_ProcExchWorkBackBillMain : 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; }
    }
}
Model/³µ¼ä¹ÜÀí/ClsSc_ProcExchWorkBackBillSub.cs
New file
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsSc_ProcExchWorkBackBillSub : 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; }
    }
}
Model/³µ¼ä¹ÜÀí/ClsSc_ProcessExchangeBillMain.cs
@@ -72,5 +72,6 @@
        public string HPickLabelNumber;
        public string HXTNumber;
        public string HXTModel;
        public string HRoutingBillID;//工艺路线ID
    }
}
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1393,6 +1393,12 @@
                        omodel.MES_StationOutBill_InStockType = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //===========工艺路线
                    //保存到数据库时自动加上转工序
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Gy_RoutingBill_SaveAutoLastProc")
                    {
                        omodel.Gy_RoutingBill_SaveAutoLastProc = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=======JIT
@@ -2905,6 +2911,13 @@
                        omodel.MES_StationEntrustOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========工艺路线
                    //自动新增   ä¿å­˜åˆ°æ•°æ®åº“时自动加上转工序
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Gy_RoutingBill_SaveAutoLastProc")
                    {
                        omodel.Gy_RoutingBill_SaveAutoLastProc = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //报工台,工序汇报自动审核参数
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESProceReportWorkBill_AutoCheck")
                    {
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -425,6 +425,8 @@
        public string Sc_MouldProdOutBill_MouldLifeCtrlType; //保存时器具寿命控制类型 ï¼ˆY å¼ºåˆ¶æŽ§åˆ¶ï¼Œ N ä»…提示)
        //工艺路线
        public string Gy_RoutingBill_SaveAutoLastProc; //保存到数据库时自动加上转工序
    }
         
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
New file
@@ -0,0 +1,402 @@
using 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_ProcExchWorkBackBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region å·¥åºè¿”工申请单列表
        [Route("Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList")]
        [HttpGet]
        public object Sc_ProcExchWorkBackBillList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql1 = "select * from h_v_Sc_ProcExchWorkBackBillList where 1 = 1  ";
                string sql = sql1 + sWhere + " order by hmainid desc";
                ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcExchWorkBackBillList");
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                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_ProcExchWorkBackBill/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, "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>
        /// æ–°å¢žå•据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillAddBill")]
        [HttpPost]
        public object Sc_ProcExchWorkBackBillAddBill([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_ProcExchWorkBackBill oBill = new DAL.ClsSc_ProcExchWorkBackBill();
                List<Model.ClsSc_ProcExchWorkBackBillMain> lsmain = new List<Model.ClsSc_ProcExchWorkBackBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_ClsSc_ProcExchWorkBackBillMain(msg2);
                foreach (Model.ClsSc_ProcExchWorkBackBillMain oItem in lsmain)
                {
                    oItem.HBillType = "3796";
                    oItem.HBillSubType = "3796";
                    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;
                    }
                    oBill.omodel = oItem;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                List<Model.ClsSc_ProcExchWorkBackBillSub> ls = new List<Model.ClsSc_ProcExchWorkBackBillSub>();
                ls = oListModels.getObjectByJson_ClsSc_ProcExchWorkBackBillSub(msg3);
                int i = 0;
                foreach (Model.ClsSc_ProcExchWorkBackBillSub 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_ProcExchWorkBackBill/DelProcExchWorkBackBill")]
        [HttpGet]
        public object DelProcExchWorkBackBill(string HInterID, string user)
        {
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_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_ProcExchWorkBackBill oBill = new DAL.ClsSc_ProcExchWorkBackBill();
            ds = oCN.RunProcReturn("select * from Sc_ProcExchWorkBackBillMain where HInterID=" + lngBillKey, "Sc_ProcExchWorkBackBillMain");
            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_ProcExchWorkBackBill/set_CheckBill")]
        [HttpGet]
        public object set_CheckBill(int HInterID, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_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_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
                if (Ds.Tables[0].Rows.Count > 0)
                {
                    //查看是否已审核,关闭,作废
                    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, 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, string CurUserName, ref string sReturn)
        {
            try
            {
                oCN.BeginTran();
                oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate='getdate()' Where HInterID=" + HInterID.ToString());
                oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
                oCN.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCN.RollBack();
                return false; ;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -373,6 +373,126 @@
        //}
        #endregion
        #region[批量新增单据-保存按钮]
        /// <summary>
        /// æ–°å¢žå•据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Sc_ProcessExchangeBill/AddBill_pl")]
        [HttpPost]
        public object AddBill_pl([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();//单据号及数量
            string msg4 = sArray[2].ToString();//工艺路线
            string msg5 = sArray[3].ToString();//类型
            string msg6 = sArray[4].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_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
                List<Model.ClsSc_ProcessExchangeBillMain> ListHbillNo = new List<Model.ClsSc_ProcessExchangeBillMain>();
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                ListHbillNo = JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessExchangeBillMain>>(msg3);
                //主表信息
                Model.ClsSc_ProcessExchangeBillMain Main = new Model.ClsSc_ProcessExchangeBillMain();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                Main = JsonConvert.DeserializeObject<Model.ClsSc_ProcessExchangeBillMain>(msg2);
                DBUtility.ClsPub.CurUserName = msg6;
                Main.HMaker = msg6;  //制单人
                Main.HBillType = "3772";
                Main.HBillSubType = "3772";
                Main.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                Main.HMaterID = Main.HMaterID2;
                if (DBUtility.ClsPub.isStrNull(Main.HDate) == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg4 = msg4.Substring(1, msg4.Length - 2);
                msg4 = msg4.Replace("\\", "");
                msg4 = msg4.Replace("\n", "");  //\n
                List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg4);
                //循环新增单据
                for (int i = 0; i < ListHbillNo.Count; i++)
                {
                    Main.HBillNo = ListHbillNo[i].HBillNo;
                    Main.HQty = ListHbillNo[i].HQty;
                    oBill.omodel = Main;
                    int j = 0;
                    foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in ls)
                    {
                        j++;
                        oItemSub.HEntryID = j;
                        oItemSub.HQty = Main.HQty;
                        oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                        oBill.DetailColl.Add(oItemSub);
                    }
                    //保存
                    //保存完毕后处理
                    bool bResult=false;
                    if (msg5 == "2")
                    {
                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    }
                    oBill.DetailColl.Clear();
                    if (!bResult)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                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 å·¥åºæµè½¬å¡åˆ—表显示器具清单信息
        [Route("Sc_ProcessExchangeBillList/QJQD")]
        [HttpGet]
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -27,8 +27,10 @@
        DAL.ClsIF_Material_View oMaterHlp = new DAL.ClsIF_Material_View();
        public DAL.ClsGy_Process_View oProcHlp = new DAL.ClsGy_Process_View();
        DAL.ClsGy_WorkCenter_View oCenHlp = new DAL.ClsGy_WorkCenter_View();
        DAL.ClsGy_Warehouse_View oCenWare = new DAL.ClsGy_Warehouse_View();
        Gy_RoutingBill_temporary omdelMian = new Gy_RoutingBill_temporary();
        public string BillType = "3301";
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        #region æœªçŸ¥
        /// <summary>
@@ -162,7 +164,7 @@
                double HStdSourceQty = mainList[0].HStdSourceQty;//标准资源数
                double HAddSourceRate = mainList[0].HAddSourceRate;//加资源增量
                double HDelSourceRate = mainList[0].HDelSourceRate;//减资源减量
                int HPRDORGID = mainList[0].HOrgID;  //生产组织
                int HPRDORGID = mainList[0].HPRDORGID;  //生产组织
                int HOrgID = mainList[0].HOrgID;  //组织
                string HPicNumVer = mainList[0].HPicNumVer;//图号版本
                string HPicNumAssemble = mainList[0].HPicNumAssemble;//总装图号
@@ -170,7 +172,7 @@
                string HProductNum = mainList[0].HProductNum;//成品编号
                string HVerNum = mainList[0].HVerNum;//版本
                int IsProNo = mainList[0].IsProNo;//是否转工序
                if (OperationType == 2)
                {
                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where  å•据号='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
@@ -206,8 +208,8 @@
                { //修改
                    oCN.RunProc("update Gy_RoutingBillMain  set " +
                       "HDate='" + HDate +
                       "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',HMaker='" + HMaker +
                       "',Hmakedate=getdate(),HMaterID='" + HMaterID + "',HName='" + HName + "',HMaterTypeID='" + HMaterTypeID +
                       "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
                       "',hupdatedate=getdate(),HMaterID='" + HMaterID + "',HName='" + HName + "',HMaterTypeID='" + HMaterTypeID +
                       "',HRoutingGroupID='" + HRoutingGroupID + "',HUnitID='" + HUnitID + "',HMaterNumber='" + HMaterNumber + "',HUnitNumber='" + HUnitNumber +
                       "',HStandard='" + Convert.ToString(HStandard ? 1 : 0) + "',HMainGroupID='" + HMainGroupID + "',HMainProcID='" + HMainProcID + "',HMainCenterID='" + HMainCenterID +
                       "',HMainTimeUnit='" + HMainTimeUnit + "',HMainUnitTime='" + HMainUnitTime + "',HMainWorkQty='" + HMainWorkQty + "',HMainPrice='" + HMainPrice +
@@ -229,14 +231,32 @@
                    return objJsonResult;
                }
                if (IsProNo == 1 && OperationType == 1)
                string sErrMsg = "";
                if (oSystemParameter.ShowBill(ref sErrMsg))
                {
                    //设置转工序
                    oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                    if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                    {
                        if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y" && OperationType == 1)
                        {
                            //设置转工序
                            oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                        }
                    }
                    else if (IsProNo == 1 && OperationType == 1)
                    {
                        //设置转工序
                        oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                    }
                }
                //设置默认工艺路线
                oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);  //设置默认工艺路线
                //是否勾选默认工艺路线
                if (HStandard)
                {
                    //设置默认工艺路线
                    oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);  //设置默认工艺路线
                }
                //判断是否重复工序号
                ds = oCN.RunProcReturn("exec h_p_Gy_RoutingCtrl " + HInterID, "h_p_Gy_RoutingCtrl");
@@ -308,7 +328,7 @@
                    ",HProcID_S,HCenterID_S,HWorkQty_S,HSubStdEmpQty_S,HMouldNo,HChangeMould" +
                    ",HPackStd,HPack,HPutArea,HMyWorkDays,HMyFixWorkDays,HPassRate" +
                    ",HTechnologyParameter,HPicNum,HProcCheckNote" +
                    ",HOverRate,HProcWorkNum" +
                    ",HOverRate,HProcWorkNum,HBadWHID,HWasterWHID, HWHID " +
                    ") values("
                    + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
                    "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
@@ -320,7 +340,7 @@
                   "," + oSub.HProcID_S.ToString() + "," + oSub.HCenterID_S.ToString() + "," + oSub.HWorkQty_S.ToString() + ", " + oSub.HSubStdEmpQty_S.ToString() + ",'" + oSub.HMouldNo + "'," + oSub.HChangeMould.ToString() +
                   ",'" + oSub.HPackStd + "','" + oSub.HPack + "','" + oSub.HPutArea + "'," + oSub.HMyWorkDays.ToString() + "," + oSub.HMyFixWorkDays.ToString() + "," + oSub.HPassRate.ToString() +
                   ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'" +
                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'," + oSub.HBadWHID.ToString()+"," + oSub.HWasterWHID.ToString()+"," + oSub.HWHID.ToString() +
                    ") ");
                }
            }
@@ -441,6 +461,15 @@
                if (!tb2.Columns.Contains("良率"))
                    error += "没有找到【良率】的标题";
                if (!tb2.Columns.Contains("不良品仓"))
                    error += "没有找到【不良品仓】的标题";
                if (!tb2.Columns.Contains("报废品仓"))
                    error += "没有找到【报废品仓】的标题";
                if (!tb2.Columns.Contains("良品仓"))
                    error += "没有找到【良品仓】的标题";
                if (error.Length > 0)
                {
                    objJsonResult.code = "0";
@@ -502,12 +531,12 @@
                                , è‰¯çއ, å·¥åºå·¥ä»·, ä¸åˆæ ¼å•ä»·, æŠ¥åºŸå•ä»·, æœ¬é“固定开工天数, æœ¬é“开工余量, ä¸Šé“等待天数
                                , ä¸Šé“循环周期, è‡ªåŠ¨è½¬ç§», å¤–协标记, ä¾›åº”商代码, ä¾›åº”商, å·¥è‰ºå‚æ•°, å›¾çº¸ç¼–号
                                , æœ¬å·¥åºç¡®è®¤è®°å½•, å¤‡æ³¨, å›¾å·ç‰ˆæœ¬, æ€»è£…图号, æè´¨, æˆå“ç¼–号, ç‰ˆæœ¬
                                , æ¨¡å…·ç¼–号, ç¨‹åºå·, ç­äº§å®šé¢, å·¥è‰ºè·¯çº¿åç§°, æ—¶é—´å•位,工艺路线代码)values
                                , æ¨¡å…·ç¼–号, ç¨‹åºå·, ç­äº§å®šé¢, å·¥è‰ºè·¯çº¿åç§°, æ—¶é—´å•位,工艺路线代码,不良品仓,报废品仓,良品仓)values
                                ('" + tb2.Rows[i]["产品代码"].ToString() + "','" + tb2.Rows[i]["产品名称"].ToString() + "','" + tb2.Rows[i]["工序序号"].ToString() + "','" + tb2.Rows[i]["工序代码"].ToString() + "','" + tb2.Rows[i]["工序"].ToString() + "','" + tb2.Rows[i]["工作中心"].ToString() + "','" + tb2.Rows[i]["加工数量"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["良率"].ToString() + "','" + (tb2.Rows[i]["工序工价"].ToString() == "" ? "0" : tb2.Rows[i]["工序工价"].ToString()) + "','" + tb2.Rows[i]["不合格单价"].ToString() + "','" + tb2.Rows[i]["报废单价"].ToString() + "','" + tb2.Rows[i]["本道固定开工天数"].ToString() + "','" + tb2.Rows[i]["本道开工余量"].ToString() + "','" + tb2.Rows[i]["上道等待天数"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["上道循环周期"].ToString() + "','" + tb2.Rows[i]["自动转移"].ToString() + "','" + tb2.Rows[i]["外协标记"].ToString() + "','" + tb2.Rows[i]["供应商代码"].ToString() + "','" + tb2.Rows[i]["供应商"].ToString() + "','" + tb2.Rows[i]["工艺参数"].ToString() + "','" + tb2.Rows[i]["图纸编号"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["本工序确认记录"].ToString() + "','" + tb2.Rows[i]["备注"].ToString() + "','" + tb2.Rows[i]["图号版本"].ToString() + "','" + tb2.Rows[i]["总装图号"].ToString() + "','" + tb2.Rows[i]["材质"].ToString() + "','" + tb2.Rows[i]["成品编号"].ToString() + "','" + tb2.Rows[i]["版本"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["模具编号"].ToString() + "','" + tb2.Rows[i]["程序号"].ToString() + "','" + tb2.Rows[i]["班产定额"].ToString() + "','" + tb2.Rows[i]["工艺路线名称"].ToString() + "','" + tb2.Rows[i]["时间单位"].ToString() + "','" + tb2.Rows[i]["工艺路线代码"].ToString() + "')");
                                ",'" + tb2.Rows[i]["模具编号"].ToString() + "','" + tb2.Rows[i]["程序号"].ToString() + "','" + tb2.Rows[i]["班产定额"].ToString() + "','" + tb2.Rows[i]["工艺路线名称"].ToString() + "','" + tb2.Rows[i]["时间单位"].ToString() + "','" + tb2.Rows[i]["工艺路线代码"].ToString() + "','" + tb2.Rows[i]["不良品仓"].ToString() + "','" + tb2.Rows[i]["报废品仓"].ToString() + "','" + tb2.Rows[i]["良品仓"].ToString() + "')");
                }
                objJsonResult.code = "1";
@@ -540,12 +569,12 @@
                Single sWorkQty = 0;
                Single sHPassRate = 0;
                //
                sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["产品代码"].ToString());
                sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工作中心"].ToString());
                sHNamePoc = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工序"].ToString());
                sWorkQty = DBUtility.ClsPub.isSingle(dt.Rows[i]["加工数量"].ToString());
                sHPassRate = DBUtility.ClsPub.isSingle(dt.Rows[i]["良率"].ToString());
                if (sHNumber != "")
                {
                    // 
@@ -608,9 +637,92 @@
                            sErrMsg = sErrMsg + "[" + sHNumberCen + "]工作中心不存在\r\n";
                        }
                        b = true;
                    }
                    string sErr = "";
                    if (oSystemParameter.ShowBill(ref sErr))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                        {
                            string HBadWHName = ""; //不良品仓
                            string HWasterWHName = ""; //报废品仓
                            string HWHName = ""; //良品仓
                            HBadWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["不良品仓"].ToString());
                            HWasterWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["报废品仓"].ToString());
                            HWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["良品仓"].ToString());
                            //判断是否为空
                            if (HBadWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :不良品仓不能为空 !\r\n";
                                b = true;
                            }
                            if (HWasterWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :报废品仓不能为空 !\r\n";
                                b = true;
                            }
                            if (HWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :良品仓不能为空 !\r\n";
                                b = true;
                            }
                            //判断仓库是否重复
                            if (HBadWHName == HWasterWHName)
                            {
                                sErrMsg = sErrMsg + "不良品仓和报废品仓重复\r\n";
                                b = true;
                            }
                            if (HWasterWHName == HWHName)
                            {
                                sErrMsg = sErrMsg + "报废品仓和良品仓重复\r\n";
                                b = true;
                            }
                            if (HBadWHName == HWHName)
                            {
                                sErrMsg = sErrMsg + "不良品仓和良品仓重复\r\n";
                                b = true;
                            }
                            //得到仓库内码
                            if (!oCenWare.GetInfoByName(HBadWHName))
                            {
                                sMsg = "[" + HBadWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HBadWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                            if (!oCenWare.GetInfoByName(HWasterWHName))
                            {
                                sMsg = "[" + HWasterWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HWasterWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                            if (!oCenWare.GetInfoByName(HWHName))
                            {
                                sMsg = "[" + HWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                        }
                    }
                }
            }
            if (b == true)
WebAPI/Controllers/LMESController.cs
@@ -600,8 +600,7 @@
            try
            {
                List<object> columnNameList = new List<object>();
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
@@ -616,15 +615,6 @@
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/JIT_DayPlanPlatFormBillController.cs
@@ -1217,30 +1217,67 @@
        #region ç”Ÿäº§æ—¥è®¡åˆ’平台 ç”Ÿäº§è®¢å•查询
        [Route("JIT_DayPlanPlatFormBill/JIT_ICMOBillList")]
        [HttpGet]
        public object JIT_ICMOBillList(string hmainid, string HEntryID)
        public object JIT_ICMOBillList(string hmainid)
        {
            try
            {
                DataSet dt = new DataSet();
                ds = oCN.RunProcReturn($"exec h_p_ICMOBillList_PrimarySubTable '{hmainid}','{HEntryID}'", "h_p_ICMOBillList_PrimarySubTable");
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                var list = hmainid.Split(',');
                List<DataTable> listdt = new List<DataTable>();
                DataTable dtable = new DataTable("dt");
                for (int i = 0; i < list.Length; i++)
                {
                    dt = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where æºå•主内码 in({ds.Tables[0].Rows[i]["源单主内码"].ToString()}) and  æºå•子内码 in({ds.Tables[0].Rows[i]["源单子内码"].ToString()})", "h_v_JIT_Sc_WorkBillSortBillList");
                    var listEvery = list[i].Split('_');
                    ds = oCN.RunProcReturn($"exec h_p_ICMOBillList_PrimarySubTable '{listEvery[0]}','{listEvery[1]}'", "h_p_ICMOBillList_PrimarySubTable");
                    var dt = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where æºå•主内码 in({ds.Tables[0].Rows[0]["源单主内码"].ToString()}) and  æºå•子内码 in({ds.Tables[0].Rows[0]["源单子内码"].ToString()})", "h_v_JIT_Sc_WorkBillSortBillList");
                    if (dt.Tables[0].Rows.Count > 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "生产明细行重复,重复的生产订单号:"+ ds.Tables[0].Rows[i]["生产订单号"].ToString()+",明细行号:"+ ds.Tables[0].Rows[i]["生产订单明细行号"].ToString();
                        objJsonResult.Message = "生产明细行重复,重复的生产订单号:" + ds.Tables[0].Rows[i]["生产订单号"].ToString() + ",明细行号:" + ds.Tables[0].Rows[i]["生产订单明细行号"].ToString();
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (i == 0)
                    {
                        //添加列名
                        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                        {
                            dtable.Columns.Add(ds.Tables[0].Columns[j].ToString());
                        }
                    }
                    listdt.Add(ds.Tables[0]);
                }
                //获取集合数据
                for (int i = 0; i < listdt.Count; i++)
                {
                    DataRow row = dtable.NewRow();
                    for (int j = 0; j < listdt[i].Columns.Count; j++)
                    {
                        if (listdt[i].Columns[j].ColumnName == "计划数量")
                        {
                            row[j] = double.Parse(listdt[i].Rows[0][j].ToString()).ToString();
                        }
                        else
                        {
                            row[j] = listdt[i].Rows[0][j].ToString();
                        }
                    }
                    dtable.Rows.Add(row);
                }
                //添加动态日期
                for (int j = 1; j <= 31; j++)
                {
                    dtable.Columns.Add(DateTime.Now.AddDays(j - 1).ToString("yyyy-MM-dd"), typeof(Int32));
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.data = dtable;
                return objJsonResult;
            }
            catch (Exception e)
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/JIT_DayPlanPlatFormImportController.cs
@@ -59,6 +59,7 @@
                tb2.Columns.Add("HSourceID", typeof(Int32));//生产资源id
                tb2.Columns.Add("ICMOBillHInterID", typeof(Int32));//生产订单主id
                tb2.Columns.Add("ICMOBillHEntryID", typeof(Int32));//生产订单子id
                tb2.Columns.Add("HProdORGID", typeof(Int32));//组织id
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
@@ -151,18 +152,60 @@
                    {
                        //员工
                        ds = oCN.RunProcReturn($"select * from Gy_Employee  where HNumber='{tb2.Rows[i]["员工编码"].ToString()}'", "Gy_Employee");
                        if (ds.Tables[0].Rows.Count > 0)
                        if (ds.Tables[0].Rows.Count > 0) {
                            tb2.Rows[i]["员工编码"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行,员工查无数据!";
                            objJsonResult.data = tb2;
                            return objJsonResult;
                        }
                        //计量单位
                        ds = oCN.RunProcReturn($"select * from Gy_Unit  where HNumber='{tb2.Rows[i]["计量单位"].ToString()}'", "Gy_Unit");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行,计量单位查无数据!";
                            objJsonResult.data = tb2;
                            return objJsonResult;
                        }
                        //生产资源
                        ds = oCN.RunProcReturn($"select * from Gy_Source  where HNumber='{tb2.Rows[i]["生产资源编码*"].ToString()}'", "Gy_Source");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            tb2.Rows[i]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        else {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i+1}行,生产资源查无数据!";
                            objJsonResult.data = tb2;
                            return objJsonResult;
                        }
                    }
                    //组织
                    ds = oCN.RunProcReturn($"select * from Xt_ORGANIZATIONS  where HNumber='{tb2.Rows[i]["组织编码*"].ToString()}'", "Xt_ORGANIZATIONS");
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        tb2.Rows[i]["HProdORGID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = $"第{i + 1}行,组织查无数据!";
                        objJsonResult.data = tb2;
                        return objJsonResult;
                    }
                }
@@ -257,7 +300,7 @@
                        HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//获得一个新的id
                        var HICMOBillNo = list[i]["生产订单号*"].ToString();
                        var HICMOEntrySEQ = list[i]["生产订单明细行号*"].ToString();
                        var HProdORGID = list[i]["组织编码*"].ToString();
                        var HProdORGID = list[i]["HProdORGID"].ToString();
                        var HWorkShopID = list[i]["HWorkShopID"].ToString();
                        var HSourceID = list[i]["HSourceID"].ToString();
                        var HYX = list[i]["优先级"].ToString();
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/Sc_WorkBillSortBillController.cs
@@ -242,7 +242,7 @@
        #region æ—¥è®¡åˆ’工单 åˆ é™¤
        [Route("Sc_WorkBillSortBill/DelWorkBillSortBillList")]
        [HttpGet]
        public object DelWorkBillSortBillList(string HInterID, string HEntryID, string User)
        public object DelWorkBillSortBillList(string HInterID,int DataType, string User)
        {
            try
            {
@@ -255,30 +255,72 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Sc_WorkBillSortBillList");
                if (ds.Tables[0].Rows.Count > 0)
                //DataType 1=日计划工单 å¤šé€‰åˆ é™¤   2=日计划平台多选删除
                if (DataType == 1)
                {
                    if (ds.Tables[0].Rows[0]["单据状态"].ToString() != "1")
                    var NumData = HInterID.Split(',');
                    for (int i = 0; i < NumData.Length; i++)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                        var NumData_T = NumData[i].Split('_');
                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData_T[0], "h_v_JIT_Sc_WorkBillSortBillList");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            if (ds.Tables[0].Rows[0]["单据状态"].ToString() != "1")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "当前单据不能删除!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            oCN.BeginTran();//开启事务
                            if (ds.Tables[0].Rows.Count == 1)
                            {
                                oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData_T[0]}");
                            }
                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData_T[0]} and HEntryID={ NumData_T[1]}");
                            oCN.Commit();//结束事务
                        }
                    }
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else if (DataType == 2)
                {
                    var NumData = HInterID.Split(',');
                    oCN.BeginTran();//开启事务
                    if (ds.Tables[0].Rows.Count == 1)
                    for (int i = 0; i < NumData.Length; i++)
                    {
                        oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={HInterID}");
                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData[i], "h_v_JIT_Sc_WorkBillSortBillList");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            if (ds.Tables[0].Rows[0]["单据状态"].ToString() != "1")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "当前单据不能删除!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            oCN.BeginTran();//开启事务
                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData[i]}");
                            oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData[i]}");
                            oCN.Commit();//结束事务
                        }
                    }
                    oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={HInterID} and HEntryID={HEntryID}");
                    oCN.Commit();//结束事务
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功!";
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -20,7 +20,7 @@
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
@@ -712,7 +712,21 @@
                    FentityModel.Add("FBaseRealQty", item["数量"].ToString());//
                    FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//
                    FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });//
                    FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // ä»“库
                    string sErr = "";
                    if (oSystemParameter.ShowBill(ref sErr))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                        {
                            if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工艺路线")
                            {
                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // ä»“库
                            }
                            else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工序")
                            {
                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // ä»“库
                            }
                        }
                    }
                    FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //批号
                    FentityModel.Add("FISBACKFLUSH", "true");//  
                    FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  ç”Ÿäº§è½¦é—´
@@ -951,7 +965,21 @@
                    FentityModel.Add("FBaseRealQty", item["数量"].ToString());//
                    FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//
                    FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });//
                    FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // ä»“库
                    string sErr = "";
                    if (oSystemParameter.ShowBill(ref sErr))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                        {
                            if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工艺路线")
                            {
                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // ä»“库
                            }
                            else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工序")
                            {
                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // ä»“库
                            }
                        }
                    }
                    FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //批号
                    FentityModel.Add("FISBACKFLUSH", "true");//  
                    FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  ç”Ÿäº§è½¦é—´
WebAPI/Controllers/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillController.cs
@@ -25,6 +25,7 @@
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
        #region ç”Ÿäº§ä»»åŠ¡å• ä¿å­˜/编辑功能
        [Route("Sc_ICMOBill/ICMOBillEdit")]
@@ -392,6 +393,7 @@
            string msg2 = sArray[0].ToString(); //主表数据
            int OperationType = int.Parse(sArray[1].ToString()); // æ•°æ®ç±»åž‹ 1添加 3修改
            string user = sArray[2].ToString();
            int HEntryID = int.Parse(sArray[3].ToString());
            try
            {
@@ -441,15 +443,15 @@
                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
                { //修改
                    oCN.RunProc("update Sc_ICMOBillMain  set " +
                                "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" +
                                "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" +
                                ", HSeOrderBillNo='" + HSeOrderBillNo + "', HSeOrderInterID=" + HSeOrderInterID + ", HSeOrderEntryID=" + HSeOrderEntryID + ", HEmpID=" + HEmpID + ", HCusID=" + HCusID + "" +
                                ", HCenterID=" + HCenterID + ",HBomID=" + HBomID + " where HInterID=" + HInterID);
                    //删除子表
                    oCN.RunProc("delete from Sc_ICMOBillSub where HInterID='" + HInterID + "'");
                    oCN.RunProc("delete from Sc_ICMOBillSub where HInterID='" + HInterID + "' and HEntryID='" + HEntryID + "'");
                }
                //保存子表
                objJsonResult = AddBillSub_NoTable(msg3, HInterID, OperationType);
                objJsonResult = AddBillSub_NoTable(msg3, HInterID, OperationType, HEntryID);
                if (objJsonResult.code == "0")
                {
@@ -476,7 +478,7 @@
            }
        }
        public json AddBillSub_NoTable(string msg3, long HInterID, int OperationType)
        public json AddBillSub_NoTable(string msg3, long HInterID, int OperationType,int HEntryID)
        {
            ClsSc_ICMOBillSub oSub = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_ICMOBillSub>(msg3);
            if (oSub.HQty <= 0 || oSub.HQty == null)
@@ -515,14 +517,14 @@
                return objJsonResult;
            }
            if (oSub.HBomID == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "BOM不能为空";
                objJsonResult.data = null;
                return objJsonResult;
            }
            //if (oSub.HBomID == 0)
            //{
            //    objJsonResult.code = "0";
            //    objJsonResult.count = 0;
            //    objJsonResult.Message = "BOM不能为空";
            //    objJsonResult.data = null;
            //    return objJsonResult;
            //}
            oCN.RunProc($@"Insert into Sc_ICMOBillSub 
                (HInterID,HENTRYID,HQty
@@ -531,7 +533,7 @@
                ,HMaterID,HUnitID,HRemark,HSourceID,HDeptID,HSTATUS
                ,HBomID,HEntryCusID
                ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney) 
                 values({HInterID},1,{(oSub.HQty == null ? 0 : oSub.HQty)}
                 values({HInterID},{HEntryID},{(oSub.HQty == null ? 0 : oSub.HQty)}
                ,'{(oSub.HPlanBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HPlanBeginDate.ToString())}','{(oSub.HPlanEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HPlanEndDate.ToString())}'
                ,'{(oSub.HBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HBeginDate.ToString())}','{(oSub.HEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HEndDate.ToString())}'
                ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HDeptID},{oSub.HSTATUS}
@@ -547,6 +549,241 @@
        }
        #endregion
        #region ç”Ÿäº§ä»»åŠ¡å•å®¡æ ¸/反审核功能
        [Route("Sc_ICMOBill/CheckSc_ICMOReportBill")]
        [HttpGet]
        public object CheckSc_ICMOReportBill(string HInterID,int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ClsPub.CurUserName = user;
                oCN.BeginTran();//开始事务
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                        DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
                        //if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
                        //{
                        //    objJsonResult.code = "0";
                        //    objJsonResult.count = 1;
                        //    objJsonResult.Message = "该任务单已下推流转卡,不允许反审核" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
                        //    objJsonResult.data = null;
                        //    return objJsonResult;
                        //}
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                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("Sc_ICMOBill/CloseSc_ICMOReportBill")]
        [HttpGet]
        public object CloseSc_ICMOReportBill(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Close", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限关闭!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ClsPub.CurUserName = user;
                oCN.BeginTran();//开始事务
                //Type 1 å…³é—­  2  åå…³é—­
                if (Type == 1)
                {
                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                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("Sc_ICMOBill/CancellSc_ICMOReportBill")]
        [HttpGet]
        public object CancellSc_ICMOReportBill(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限作废!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ClsPub.CurUserName = user;
                oCN.BeginTran();//开始事务
                //Type 1 ä½œåºŸ  2  åä½œåºŸ
                if (Type == 1)
                {
                    if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                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("Sc_ICMOBill/DeltetSc_ICMOReportBill")]
        [HttpGet]
WebAPI/ListModels.cs
@@ -1502,6 +1502,24 @@
            return list;
        }
        ///工序返工申请单 ä¸»è¡¨
        ///ClsSc_ProcExchWorkBackBillMain
        public List<Model.ClsSc_ProcExchWorkBackBillMain> getObjectByJson_ClsSc_ProcExchWorkBackBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_ProcExchWorkBackBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchWorkBackBillMain>>(jsonString);
            return list;
        }
        ///工序返工申请单 å­è¡¨
        ///ClsSb_EquipStockInCheckBillSub
        public List<Model.ClsSc_ProcExchWorkBackBillSub> getObjectByJson_ClsSc_ProcExchWorkBackBillSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_ProcExchWorkBackBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchWorkBackBillSub>>(jsonString);
            return list;
        }
        ///设备投产检验验收单 å­è¡¨
        ///ClsSb_EquipWorkBeforeCheckBillSub
        public List<Model.ClsSb_EquipWorkBeforeCheckBillSub> getObjectByJson_ClsSb_EquipWorkBeforeCheckBillSub(string jsonString)
WebAPI/Models/Gy_RoutingBillSub.cs
@@ -65,5 +65,10 @@
        public string HProcCheckNote = "";        // varchar(2000)  æœ¬å·¥åºç¡®è®¤è®°å½•
        public string HProcWorkNum = "";        // varchar(100)  ç¨‹åºå·
        //瑞琪新加字段
        public int HBadWHID { get; set; }  //不良品仓
        public int HWasterWHID { get; set; } //报废仓
        public int HWHID { get; set; }  //良品仓
    }
}
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_ProcExchWorkBackBillController.cs" />
    <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
    <Compile Include="Controllers\Gy_MateMouldController.cs" />
    <Compile Include="Controllers\Gy_StdMinPickQtyController.cs" />
@@ -979,6 +980,7 @@
    <Folder Include="Views\Sc_MouldRepairSendWorkBill\" />
    <Folder Include="Views\Sc_MouldScrapRequestBill\" />
    <Folder Include="Views\Sc_MouldStatusChangeBill\" />
    <Folder Include="Views\Sc_ProcessExchangeIssueBill\" />
    <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
    <Folder Include="Views\Sc_WorkBillSortBill\" />
    <Folder Include="Views\Sc_WorkDemandPlanBill\" />