销售报价单 列表 和 编辑 页面; (见原型设计) 增加 客户拜访记录单 列表 和 编辑 页面;
工艺路线,产品工艺参数 车间管理:岗位技能清单,员工技能清单,设备启动点检清单列表,产品防错验证清单列表 质量管理:检验方案,安灯逐级呼叫规则,环境检测方案
增加; 保存前控制存储过程,保存后控制存储过程,审核前控制,审核后控制,删除前控制,删除后控制;作废前控制 作废后控制
26个文件已修改
5个文件已添加
2780 ■■■■■ 已修改文件
DAL/DAL.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/工资管理/ClsHR_PostSkillBill.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/计划管理/ClsGy_MaterialTechParamBillMain.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/质检管理/ClsGy_EnvironmentTestSchemeBillMain.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/销售管理/ClsCrm_ComplainVisitBill.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/销售管理/ClsXs_SeQuotationBill.cs 271 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/质检管理/ClsGy_EnvironmentTestSchemeBillMain.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsCrm_ComplainVisitBillMain.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsCrm_ComplainVisitBillSub.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsXs_SeQuotationBillMain.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/LMESController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/QC_ManagementController.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Crm_ComplainVisitBillController.cs 978 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Xs_SeQuotationBillController.cs 1000 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/品质管理/基础资料/Gy_BaseInformationController.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/HR_PostSkillBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Debug/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/DAL.csproj
@@ -840,6 +840,7 @@
    <Compile Include="销售管理\ClsXs_SellPlanExecuteBill.cs" />
    <Compile Include="销售管理\ClsXs_SeOutStockBackBillForLayUI.cs" />
    <Compile Include="销售管理\ClsXs_SeProdPlanBill.cs" />
    <Compile Include="销售管理\ClsCrm_ComplainVisitBill.cs" />
    <Compile Include="销售管理\ClsXs_SeQuotationBill.cs" />
    <Compile Include="销售管理\ClsXs_SeQuotation_ccjgBill.cs" />
    <Compile Include="销售管理\ClsXs_SeSampleBill.cs" />
DAL/¹¤×ʹÜÀí/ClsHR_PostSkillBill.cs
@@ -122,7 +122,7 @@
            {
             
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                oCn.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_HR_PostSkillBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_HR_PostSkillBill_BeforeSaveCtrl");
DAL/¼Æ»®¹ÜÀí/ClsGy_MaterialTechParamBillMain.cs
@@ -41,7 +41,7 @@
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',2 ", "h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl");
                DataSet ds = oCn.RunProcReturn("Exec h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
@@ -152,7 +152,7 @@
                //保存前控制=========================================
                string HBillNote = "";
                 ds = oCn.RunProcReturn("Exec h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl");
                 ds = oCn.RunProcReturn("Exec h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Gy_MaterialTechParamBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
DAL/Öʼì¹ÜÀí/ClsGy_EnvironmentTestSchemeBillMain.cs
@@ -163,7 +163,7 @@
                //主表
                string mainSql = "insert into Gy_EnvironmentTestSchemeBillMain" +
                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                    ",HDeptID,HCenterWorkID,HProcID) " +
                    ",HDeptID,HCenterWorkID,HProcID,HOrgID) " +
                    "values(" +
                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
                    "," + omodel.HPeriod.ToString() +
@@ -174,10 +174,11 @@
                    "','" + omodel.HBillNo +
                    "','" + omodel.HRemark +
                   "','" + omodel.HMaker +
                    "','getdate()" +
                    "','" + omodel.HDeptID +
                    "',getdate()" +
                    ",'" + omodel.HDeptID +
                    "','" + omodel.HCenterWorkID +
                    "','" + omodel.HProcID +
                     "','" + omodel.HOrgID +
                    "')";
                oCn.RunProc(mainSql);
DAL/ÏúÊÛ¹ÜÀí/ClsCrm_ComplainVisitBill.cs
New file
@@ -0,0 +1,215 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
    public class ClsCrm_ComplainVisitBill : DBUtility.ClsXt_BaseBill
    {
        public Model.ClsCrm_ComplainVisitBillMain omodel = new Model.ClsCrm_ComplainVisitBillMain();
        public List<Model.ClsCrm_ComplainVisitBillSub> DetailColl = new List<Model.ClsCrm_ComplainVisitBillSub>();
        public ClsCrm_ComplainVisitBill()
        {
            base.MvarItemKeySub = "Crm_ComplainVisitBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey = "Crm_ComplainVisitBillMain";
            base.MvarReportTitle = "客户拜访记录单";
            base.BillType = "1410";
        }
        #region å›ºå®šä»£ç 
        ~ClsCrm_ComplainVisitBill()
        {
            DetailColl = null;
        }
        #endregion   è‡ªå®šä¹‰æ–¹æ³•
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //
                oCn.BeginTran();
                //保存前控制=========================================
                DataSet ds = oCn.RunProcReturn("Exec h_p_Crm_ComplainVisitBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Crm_ComplainVisitBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                //更新主表
                oCn.RunProc("UpDate Crm_ComplainVisitBillMain set " +
                 " HDate = '" + omodel.HDate.ToShortDateString() + "'" +
                 ",HCusID = " + omodel.HCusID.ToString() +
                 ",HBeginTime = '" + omodel.HBeginTime+ "'" +
                 ",HEndTime = '" + omodel.HEndTime + "'" +
                 ",HCusAddr = '" + omodel.HCusAddr.ToString() + "'" +
                 ",HComplainTopic = '" + omodel.HComplainTopic.ToString() + "'" +
                 ",HComplainType = '" + omodel.HComplainType.ToString() + "'" +
                 ",HComplainEmp = '" + omodel.HComplainEmp.ToString() + "'" +
                 ",HLinkPhone = '" + omodel.HLinkPhone + "'" +
                 ",HGrade = '" + omodel.HGrade + "'" +
                 ",HVisitEmpID = '" + omodel.HVisitEmpID + "'" +
                 ",HDeptID = '" + omodel.HDeptID + "'" +
                 ",HVisitResult = '" + omodel.HVisitResult + "'" +
                 ",HCusFeedback = '" + omodel.HCusFeedback.ToString() + "'" +
                 ",HRemark = '" + omodel.HRemark + "'" +
                 ",HUpDater = '" + omodel.HUpDater + "'" +
                 ",HUpDateDate = '" + omodel.HUpDateDate + "'" +
                 " where HInterID = " + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Crm_ComplainVisitBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Crm_ComplainVisitBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                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();
                //保存前控制=========================================
                DataSet ds = oCn.RunProcReturn("Exec h_p_Crm_ComplainVisitBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Crm_ComplainVisitBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                oCn.RunProc("INSERT INTO Crm_ComplainVisitBillMain " +
                    "(HBillType,HInterID,HBillNo,HDate," +
                    "HYear,HPeriod,HMaker,HMakeDate," +
                    "HCusID,HBeginTime,HEndTime,HCusAddr," +
                    "HVisitEmpID,HComplainTopic,HDeptID,HComplainType," +
                    "HComplainEmp,HLinkPhone,HGrade,HVisitResult,HCusFeedback,HOrgID) " +
                    "VALUES (" +
                    "'" + this.BillType + "','" + omodel.HInterID + "','" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'," +
                    "'" + omodel.HYear + "','" + omodel.HPeriod + "','" + DBUtility.ClsPub.CurUserName + "',GETDATE()," +  // HMaker使用当前用户
                    "'" + omodel.HCusID + "','" + omodel.HBeginTime + "','" + omodel.HEndTime + "','" + omodel.HCusAddr + "'," +
                    "'" + omodel.HVisitEmpID + "','" + omodel.HComplainTopic + "','" + omodel.HDeptID + "','" + omodel.HComplainType + "'," +
                    "'" + omodel.HComplainEmp + "','" + omodel.HLinkPhone + "','" + omodel.HGrade + "','" + omodel.HVisitResult + "'," +
                    "'" + omodel.HCusFeedback + "','" + omodel.HOrgID + "'" +
                    ")");
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Crm_ComplainVisitBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Crm_ComplainVisitBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds;
                Ds = oCn.RunProcReturn("Select * from Crm_ComplainVisitBillMain Where HInterID=" + lngBillKey.ToString(), "Crm_ComplainVisitBillMain");
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                //赋值
                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
                omodel.HBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
                //=================
                omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                omodel.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"]);
                omodel.HVisitEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HVisitEmpID"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                //
                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
    }
}
DAL/ÏúÊÛ¹ÜÀí/ClsXs_SeQuotationBill.cs
@@ -36,53 +36,44 @@
            {
                //
                oCn.BeginTran();
                //保存前控制=========================================
                DataSet ds = oCn.RunProcReturn("Exec h_p_Xs_SeQuotationBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Xs_SeQuotationBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                //更新主表
                oCn.RunProc("UpDate Xs_SeQuotationBillMain set  " +
                " HDate = '" + omodel.HDate.ToShortDateString() + "'" +
                //============================================
                ",HCusID =" + omodel.HCusID.ToString() +
                ",HCusNumber ='" + omodel.HCusNumber + "'" +
                ",HCusID =" + omodel.HCusID.ToString() +
                ",HLinkManID =" + omodel.HLinkManID.ToString() +
                ",HCurID =" + omodel.HCurID.ToString() +
                ",HCurNumber ='" + omodel.HCurNumber + "'" +
                ",HCurID =" + omodel.HCurID.ToString() +
                ",HExRate =" + omodel.HExRate.ToString() +
                ",HEmpID =" + omodel.HEmpID.ToString() +
                ",HEmpNumber ='" + omodel.HEmpNumber + "'" +
                ",HMangerID =" + omodel.HMangerID.ToString() +
                ",HMangerNumber ='" + omodel.HMangerNumber + "'" +
                ",HDeptID =" + omodel.HDeptID.ToString() +
                ",HDeptNumber ='" + omodel.HDeptNumber + "'" +
                ",HMangerID =" + omodel.HMangerID.ToString() +
                ",HDeptID =" + omodel.HDeptID.ToString() +
                ",HInnerBillNo = '" + omodel.HInnerBillNo + "'" +
                ",HContractName = '" + omodel.HContractName + "'" +
                ",HExplanation = '" + omodel.HExplanation + "'" +
                ",HQuotationDate = '" + omodel.HQuotationDate.ToShortDateString() + "'" +
                ",HCondition = '" + omodel.HCondition + "'" +
                ",HQuotationStatus = '" + omodel.HQuotationStatus + "'" +
                ",HSellSID =" + omodel.HSellSID.ToString() +
                ",HSellSNumber ='" + omodel.HSellSNumber + "'" +
                ",HSellSID =" + omodel.HSellSID.ToString() +
                ",HCarriage =" + omodel.HCarriage.ToString() +
                ",HCommision =" + omodel.HCommision.ToString() +
                ",HSellBonus =" + omodel.HSellBonus.ToString() +
                ",HOtherMoney =" + omodel.HOtherMoney.ToString() +
                ",HExportRemark1 ='" + omodel.HExportRemark1 + "'" +
                ",HExportRemark2 ='" + omodel.HExportRemark2 + "'" +
                ",HPackMoney =" + omodel.HPackMoney.ToString() +
                ",HCarryBillMoney =" + omodel.HCarryBillMoney.ToString() +
                ",HTrailerMoney =" + omodel.HTrailerMoney.ToString() +
                ",HFileMoney =" + omodel.HFileMoney.ToString() +
                ",HORC =" + omodel.HORC.ToString() +
                ",HSurrogateMoney =" + omodel.HSurrogateMoney.ToString() +
                ",HApplyMoney =" + omodel.HApplyMoney.ToString() +
                ",HBuildMoney =" + omodel.HBuildMoney.ToString() +
                ",HProduceAreaCard =" + omodel.HProduceAreaCard.ToString() +
                ",HOtherMoney =" + omodel.HOtherMoney.ToString() +
                ",HExportOtherMoney =" + omodel.HExportOtherMoney.ToString() +
                ",HSumMoney =" + omodel.HSumMoney.ToString() +
                ",HArkModel = '" + omodel.HArkModel + "'" +
                ",HArkQty =" + omodel.HArkQty.ToString() +
                ",HSumMoney =" + omodel.HSumMoney.ToString() +
                //============================================
                ",HRemark='" + omodel.HRemark + "'" +
                ",HYear=" + omodel.HYear.ToString() +
                ",HPeriod=" + omodel.HPeriod.ToString() +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HUpDater='" + omodel.HUpDater + "'" +
                ",HUpDateDate='" + omodel.HUpDateDate + "'" +
                " where HInterID=" + lngBillKey.ToString());
@@ -95,19 +86,33 @@
                foreach (Model.ClsXs_SeQuotationBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Xs_SeQuotationBillSub " +
                      " (HInterID,HEntryID,HMaterID,HMaterNumber" +
                      ",HUnitID,HUnitNumber,HDisposeRate,HQty" +
                      " (HInterID,HEntryID,HMaterID" +
                      ",HUnitID,HQty" +
                      ",HPrice,HRelPrice,HRate,HAllMoney" +
                      ",HMoney,HDate,HRemark,HType" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMoney,HDate,HRemark" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + ",'" + oSub.HMaterNumber + "'" +
                      "," + oSub.HUnitID.ToString() + ",'" + oSub.HUnitNumber + "'," + oSub.HDisposeRate.ToString() + "," + oSub.HQty.ToString() +
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + "" +
                      "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() +
                      "," + oSub.HPrice.ToString() + "," + oSub.HRelPrice.ToString() + "," + oSub.HRate.ToString() + "," + oSub.HAllMoney.ToString() +
                      "," + oSub.HMoney.ToString() + ",'" + oSub.HDate.ToShortDateString() + "','" + oSub.HRemark + "','" + oSub.HType + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMoney.ToString() + ",'" + oSub.HDate.ToShortDateString() + "','" + oSub.HRemark + "'" +
                      ") ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Xs_SeQuotationBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Xs_SeQuotationBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "修改单据成功!";
                oCn.Commit();
                return true;
@@ -128,51 +133,69 @@
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //保存前控制=========================================
                DataSet ds = oCn.RunProcReturn("Exec h_p_Xs_SeQuotationBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Xs_SeQuotationBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                //主表
                oCn.RunProc("Insert Into Xs_SeQuotationBillMain   " +
                "(HBillType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HMaker,HMakeDate" +
                ",HCusID,HCusNumber,HLinkManID,HCurID,HCurNumber" +
                ",HExRate,HEmpID,HEmpNumber,HMangerID,HMangerNumber" +
                ",HDeptID,HDeptNumber,HContractName,HQuotationDate" +
                ",HCondition,HQuotationStatus,HSellSID,HSellSNumber" +
                ",HCarriage,HCommision,HSellBonus,HOtherMoney" +
                ",HExportRemark1,HExportRemark2,HPackMoney,HCarryBillMoney" +
                ",HTrailerMoney,HFileMoney,HORC,HSurrogateMoney" +
                ",HApplyMoney,HBuildMoney,HProduceAreaCard,HExportOtherMoney" +
                ",HSumMoney,HArkModel,HArkQty" +
                ",HExplanation,HInnerBillNo,HRemark" +
                ") " +
                " values('" + this.BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                "," + omodel.HCusID.ToString() + ",'" + omodel.HCusNumber + "'," + omodel.HLinkManID.ToString() + "," + omodel.HCurID.ToString() + ",'" + omodel.HCurNumber + "'" +
                "," + omodel.HExRate.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HEmpNumber + "'," + omodel.HMangerID.ToString() + ",'" + omodel.HMangerNumber + "'" +
                "," + omodel.HDeptID.ToString() + ",'" + omodel.HDeptNumber + "','" + omodel.HContractName + "','" + omodel.HQuotationDate.ToShortDateString() + "'" +
                ",'" + omodel.HCondition + "','" + omodel.HQuotationStatus + "'," + omodel.HSellSID.ToString() + ",'" + omodel.HSellSNumber + "'" +
                "," + omodel.HCarriage.ToString() + "," + omodel.HCommision.ToString() + "," + omodel.HSellBonus.ToString() + "," + omodel.HOtherMoney.ToString() +
                ",'" + omodel.HExportRemark1 + "','" + omodel.HExportRemark2 + "'," + omodel.HPackMoney.ToString() + "," + omodel.HCarryBillMoney.ToString() +
                "," + omodel.HTrailerMoney.ToString() + "," + omodel.HFileMoney.ToString() + "," + omodel.HORC.ToString() + "," + omodel.HSurrogateMoney.ToString() +
                "," + omodel.HApplyMoney.ToString() + "," + omodel.HBuildMoney.ToString() + "," + omodel.HProduceAreaCard.ToString() + "," + omodel.HExportOtherMoney.ToString() +
                "," + omodel.HSumMoney.ToString() + ",'" + omodel.HArkModel + "'," + omodel.HArkQty.ToString() +
                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "','" + omodel.HRemark + "'" +
                ") ");
                oCn.RunProc("Insert Into Xs_SeQuotationBillMain " +
                   "(HBillType, HInterID, HBillNo, HDate" +
                   ", HYear, HPeriod, HMaker, HMakeDate" +
                   ", HCusID, HLinkManID, HCurID" +
                   ", HExRate, HEmpID, HMangerID" +
                   ", HDeptID, HExplanation, HInnerBillNo, HContractName" +
                   ", HQuotationDate, HCondition, HQuotationStatus, HSellSID" +
                   ", HCarriage, HCommision, HSellBonus, HOtherMoney" +
                   ", HExportOtherMoney, HSumMoney, HOrgID) " +
                   "values('" + this.BillType + "', '" + omodel.HInterID + "', '" + omodel.HBillNo + "', '" + omodel.HDate.ToShortDateString() + "'" +
                   ", '" + omodel.HYear + "', '" + omodel.HPeriod + "', '" + DBUtility.ClsPub.CurUserName + "', getdate()" +
                   ", '" + omodel.HCusID + "', '" + omodel.HLinkManID + "', '" + omodel.HCurID + "'" +
                   ", '" + omodel.HExRate + "', '" + omodel.HEmpID + "', '" + omodel.HMangerID + "'" +
                   ", '" + omodel.HDeptID + "', '" + omodel.HExplanation + "', '" + omodel.HInnerBillNo + "', '" + omodel.HContractName + "'" +
                   ", '" + omodel.HQuotationDate.ToShortDateString() + "', '" + omodel.HCondition + "', '" + omodel.HQuotationStatus + "', '" + omodel.HSellSID + "'" +
                   ", '" + omodel.HCarriage + "', '" + omodel.HCommision + "', '" + omodel.HSellBonus + "', '" + omodel.HOtherMoney + "'" +
                   ", '" + omodel.HExportOtherMoney + "', '" + omodel.HSumMoney + "', '" + omodel.HOrgID + "')");
                //插入子表
                foreach (Model.ClsXs_SeQuotationBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Xs_SeQuotationBillSub " +
                      " (HInterID,HEntryID,HMaterID,HMaterNumber" +
                      ",HUnitID,HUnitNumber,HDisposeRate,HQty" +
                      ",HPrice,HRelPrice,HRate,HAllMoney" +
                      ",HMoney,HDate,HRemark,HType" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + ",'" + oSub.HMaterNumber + "'" +
                      "," + oSub.HUnitID.ToString() + ",'" + oSub.HUnitNumber + "'," + oSub.HDisposeRate.ToString() + "," + oSub.HQty.ToString() +
                      "," + oSub.HPrice.ToString() + "," + oSub.HRelPrice.ToString() + "," + oSub.HRate.ToString() + "," + oSub.HAllMoney.ToString() +
                      "," + oSub.HMoney.ToString() + ",'" + oSub.HDate.ToShortDateString() + "','" + oSub.HRemark + "','" + oSub.HType + "'" +
                      ",'" + oSub.HSourceInterID + "','" + oSub.HSourceEntryID + "','" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      ") ");
                       " (HInterID,HEntryID,HMaterID" +
                       ",HUnitID,HQty" +
                       ",HPrice,HRelPrice,HRate,HAllMoney" +
                       ",HMoney,HDate,HRemark" +
                       ") values("
                       + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + "" +
                       "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() +
                       "," + oSub.HPrice.ToString() + "," + oSub.HRelPrice.ToString() + "," + oSub.HRate.ToString() + "," + oSub.HAllMoney.ToString() +
                       "," + oSub.HMoney.ToString() + ",'" + oSub.HDate.ToShortDateString() + "','" + oSub.HRemark + "'" +
                       ") ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Xs_SeQuotationBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Xs_SeQuotationBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
@@ -206,44 +229,44 @@
                //=================
                omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                omodel.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"]);
                omodel.HCusNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCusNumber"]);
                omodel.HLinkManID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HLinkManID"]);
                //omodel.HCusNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCusNumber"]);
                omodel.HLinkManID = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkManID"]);
                omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]);
                omodel.HCurNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCurNumber"]);
                //omodel.HCurNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCurNumber"]);
                omodel.HExRate = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExRate"]);
                omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
                omodel.HEmpNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEmpNumber"]);
                //omodel.HEmpNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEmpNumber"]);
                omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
                omodel.HMangerNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMangerNumber"]);
                //omodel.HMangerNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMangerNumber"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HDeptNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeptNumber"]);
                //omodel.HDeptNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeptNumber"]);
                omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]);
                omodel.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"]);
                omodel.HInnerBillNo2 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo2"]);
                omodel.HContractName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HContractName"]);
                omodel.HQuotationDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HQuotationDate"]);
                omodel.HCondition = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCondition"]);
                omodel.HQuotationStatus = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HQuotationStatus"]);
                omodel.HSellSID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSellSID"]);
                omodel.HCarriage = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCarriage"]);
                omodel.HCommision = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCommision"]);
                omodel.HSellBonus = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSellBonus"]);
                omodel.HOtherMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HOtherMoney"]);
                omodel.HExportRemark1 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExportRemark1"]);
                omodel.HExportRemark2 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExportRemark2"]);
                omodel.HPackMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HPackMoney"]);
                omodel.HCarryBillMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCarryBillMoney"]);
                omodel.HTrailerMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HTrailerMoney"]);
                omodel.HFileMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HFileMoney"]);
                omodel.HORC = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HORC"]);
                omodel.HSurrogateMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSurrogateMoney"]);
                omodel.HApplyMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HApplyMoney"]);
                omodel.HBuildMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HBuildMoney"]);
                omodel.HProduceAreaCard = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HProduceAreaCard"]);
                omodel.HExportOtherMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExportOtherMoney"]);
                omodel.HSumMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSumMoney"]);
                omodel.HArkModel = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HArkModel"]);
                omodel.HArkQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HArkQty"]);
                //omodel.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"]);
                //omodel.HInnerBillNo2 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo2"]);
                //omodel.HContractName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HContractName"]);
                //omodel.HQuotationDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HQuotationDate"]);
                //omodel.HCondition = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCondition"]);
                //omodel.HQuotationStatus = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HQuotationStatus"]);
                //omodel.HSellSID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSellSID"]);
                //omodel.HCarriage = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCarriage"]);
                //omodel.HCommision = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCommision"]);
                //omodel.HSellBonus = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSellBonus"]);
                //omodel.HOtherMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HOtherMoney"]);
                //omodel.HExportRemark1 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExportRemark1"]);
                //omodel.HExportRemark2 = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExportRemark2"]);
                //omodel.HPackMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HPackMoney"]);
                //omodel.HCarryBillMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HCarryBillMoney"]);
                //omodel.HTrailerMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HTrailerMoney"]);
                //omodel.HFileMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HFileMoney"]);
                //omodel.HORC = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HORC"]);
                //omodel.HSurrogateMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSurrogateMoney"]);
                //omodel.HApplyMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HApplyMoney"]);
                //omodel.HBuildMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HBuildMoney"]);
                //omodel.HProduceAreaCard = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HProduceAreaCard"]);
                //omodel.HExportOtherMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExportOtherMoney"]);
                //omodel.HSumMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HSumMoney"]);
                //omodel.HArkModel = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HArkModel"]);
                //omodel.HArkQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HArkQty"]);
                //
                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
@@ -268,26 +291,26 @@
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"].ToString());
                    //
                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HMaterNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMaterNumber"]);
                    //oSub.HMaterNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMaterNumber"]);
                    oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
                    oSub.HUnitNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUnitNumber"]);
                    oSub.HDisposeRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HDisposeRate"]);
                    oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
                    oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]);
                    oSub.HRelPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelPrice"]);
                    oSub.HRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRate"]);
                    oSub.HAllMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HAllMoney"]);
                    oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HMoney"]);
                    oSub.HDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HDate"]);
                    oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]);
                    oSub.HType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HType"]);
                    //oSub.HUnitNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUnitNumber"]);
                    //oSub.HDisposeRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HDisposeRate"]);
                    //oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
                    //oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]);
                    //oSub.HRelPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelPrice"]);
                    //oSub.HRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRate"]);
                    //oSub.HAllMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HAllMoney"]);
                    //oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HMoney"]);
                    //oSub.HDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HDate"]);
                    //oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]);
                    //oSub.HType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HType"]);
                    //
                    oSub.HSourceInterID = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceInterID"].ToString());
                    oSub.HSourceEntryID = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceEntryID"].ToString());
                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"].ToString());
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"].ToString());
                    //oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"].ToString());
                    //oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"].ToString());
                    DetailColl.Add(oSub);
                }
                sReturn = "显示单据成功!";
@@ -332,7 +355,7 @@
                omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                omodel.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"]);
                omodel.HCusNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCusNumber"]);
                omodel.HLinkManID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HLinkManID"]);
                omodel.HLinkManID = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkManID"]);
                omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]);
                omodel.HCurNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCurNumber"]);
                omodel.HExRate = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExRate"]);
Model/Model.csproj
@@ -1088,6 +1088,8 @@
    <Compile Include="销售管理\ClsXs_SellPlanExecuteBillMain.cs" />
    <Compile Include="销售管理\ClsXs_SellPlanExecuteBillSub.cs" />
    <Compile Include="销售管理\ClsXs_OutDoorCheckBillMain.cs" />
    <Compile Include="销售管理\ClsCrm_ComplainVisitBillMain.cs" />
    <Compile Include="销售管理\ClsCrm_ComplainVisitBillSub.cs" />
    <Compile Include="销售管理\ClsXs_SeQuotation_ccjgBillMain.cs" />
    <Compile Include="销售管理\ClsXs_SeQuotation_ccjgBillSub.cs" />
    <Compile Include="销售管理\ClsXs_SeDownStockBillMain.cs" />
Model/Öʼì¹ÜÀí/ClsGy_EnvironmentTestSchemeBillMain.cs
@@ -10,6 +10,6 @@
        public Int64 HDeptID;          //int ---生产部门(Gy_Department)
        public Int64 HCenterWorkID;          //int --工作中心(Gy_WorkCenter)
        public Int64 HProcID;          //int --工序(gy_Process)
        public int HOrgID;
    }
}
Model/ÏúÊÛ¹ÜÀí/ClsCrm_ComplainVisitBillMain.cs
New file
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsCrm_ComplainVisitBillMain : DBUtility.ClsXt_BaseBillMain
    {
        public long HCusID;//    int                --客户 (Gy_Customer)
        public long HVisitEmpID;//     int                   --业务员  (Gy_Employee)
        public long HDeptID;//     int                 --部门    (Gy_Employee)
        public DateTime HBeginTime ;
        public DateTime HEndTime ;
        public string HCusAddr ;
        public string HComplainTopic ;
        public string HComplainType ;
        public string HComplainEmp ;
        public string HLinkPhone ;
        public string HGrade ;
        public string HVisitResult ;
        public string HCusFeedback ;
        public int HOrgID;
    }
}
Model/ÏúÊÛ¹ÜÀí/ClsCrm_ComplainVisitBillSub.cs
New file
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsCrm_ComplainVisitBillSub : DBUtility.ClsXt_BaseBillSub
    {
    }
}
Model/ÏúÊÛ¹ÜÀí/ClsXs_SeQuotationBillMain.cs
@@ -8,7 +8,7 @@
    {
        public long HCusID;//    int                --客户 (Gy_Customer)
        public string HCusNumber;
        public long HLinkManID;//    int            --联系人(Crm_LinkManBillMain)
        public string HLinkManID;//    int            --联系人(Crm_LinkManBillMain)
        public long HCurID;//    int                  --币别 (Gy_Currency)
        public string HCurNumber;
        public double HExRate;//    money                  --汇率  (选择完币别带出)
@@ -48,5 +48,7 @@
        public double HSumMoney;//        money        --合计
        public string HArkModel;//        varchar(50)    --柜型
        public double HArkQty;//            money        --柜数
        public int HOrgID;
    }
}
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
@@ -6,7 +6,7 @@
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
D:\工作代码\智云迈思\MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs
@@ -20,6 +20,7 @@
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public DataSet ds1 = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        public DAL.ClsGy_MaterPreventErrMouldBillMain OBill = new DAL.ClsGy_MaterPreventErrMouldBillMain();
        public DAL.ClsGy_MaterPreventErrMouldBillMain BillOld = new DAL.ClsGy_MaterPreventErrMouldBillMain();
@@ -472,7 +473,6 @@
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -511,8 +511,8 @@
                        }
                        //审核前控制=========================================      
                        string sql1 = "exec h_p_Gy_MaterPreventErrMouldBill_BeforeCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -522,11 +522,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
@@ -547,7 +547,6 @@
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
@@ -578,8 +577,8 @@
                        }
                        //反审核前控制=========================================        
                        string sql1 = "exec h_p_Gy_MaterPreventErrMouldBill_BeforeUnCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeUnCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeUnCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -588,11 +587,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "反审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -810,7 +809,6 @@
                if (Type == 1)
                {
                    //判断单据是否已经作废
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -841,8 +839,8 @@
                        }
                        //作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_MaterPreventErrMouldBill_BeforeDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -852,11 +850,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
@@ -876,7 +874,6 @@
                else
                {
                    //判断单据是否已经反作废
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
@@ -899,8 +896,8 @@
                        }
                        //反作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_MaterPreventErrMouldBill_BeforeUnDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeUnDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MaterPreventErrMouldBill_BeforeUnDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -910,11 +907,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "作废失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
@@ -20,11 +20,13 @@
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public DataSet ds1 = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        public DAL.ClsSc_WorkBeginDotCheckBillMain OBill = new DAL.ClsSc_WorkBeginDotCheckBillMain();   //启动点检单
        public DAL.ClsSc_WorkBeginDotCheckBillMain BillOld = new DAL.ClsSc_WorkBeginDotCheckBillMain();//启动点检单
        public DAL.ClsGy_WorkBeginDotCheckListBillMain OBill1 = new DAL.ClsGy_WorkBeginDotCheckListBillMain();  //设备启动点检清单
        public DAL.ClsGy_WorkBeginDotCheckListBillMain BillOld1 = new DAL.ClsGy_WorkBeginDotCheckListBillMain(); //设备启动点检清单
        #region å¯åŠ¨ç‚¹æ£€åˆ—è¡¨ æŸ¥è¯¢       
@@ -1253,7 +1255,7 @@
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -1292,8 +1294,8 @@
                        }
                        //审核前控制=========================================      
                        string sql1 = "exec h_p_Gy_WorkBeginDotCheckListBill_BeforeCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1303,11 +1305,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
@@ -1327,8 +1329,7 @@
                }
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    //判断单据是否已经反审核
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
@@ -1359,8 +1360,8 @@
                        }
                        //反审核前控制=========================================        
                        string sql1 = "exec h_p_Gy_WorkBeginDotCheckListBill_BeforeUnCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeUnCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeUnCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1369,11 +1370,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "反审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1564,6 +1565,7 @@
        {
            try
            {
                //判断是否有作废权限
                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Drop", 1, false, user))
                {
@@ -1591,7 +1593,7 @@
                if (Type == 1)
                {
                    //判断单据是否已经作废
                    DataSet ds;
                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -1622,8 +1624,8 @@
                        }
                        //作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_WorkBeginDotCheckListBill_BeforeDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1633,7 +1635,7 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1657,7 +1659,6 @@
                else
                {
                    //判断单据是否已经反作废
                    DataSet ds;
                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
@@ -1680,8 +1681,8 @@
                        }
                        //反作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_WorkBeginDotCheckListBill_BeforeUnDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeUnDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_WorkBeginDotCheckListBill_BeforeUnDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1691,11 +1692,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "作废失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
@@ -723,9 +723,9 @@
        /// <param name="IsAudit">作废(0),反作废(1)</param>
        /// <param name="CurUserName">作废人</param>
        /// <returns></returns>
        [Route("Gy_MaterialTechParamBill/DeleteGy_MaterialTechParamBill")]
        [Route("Gy_MaterialTechParamBill/DropGy_MaterialTechParamBill")]
        [HttpGet]
        public object DeleteGy_MaterialTechParamBill(int HInterID, int IsAudit, string CurUserName)
        public object DropGy_MaterialTechParamBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Gy_MaterialTechParamBillMain_Delete";
            DBUtility.ClsPub.CurUserName = CurUserName;
WebAPI/Controllers/LMESController.cs
@@ -1688,8 +1688,8 @@
              
                LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString());
                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','LMES-工艺路线模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo);
                LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工艺路线单据:" + HBillNo);
                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工艺路线单据:" + HBillNo + "','LMES-工艺路线模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
WebAPI/Controllers/QC_ManagementController.cs
@@ -137,7 +137,7 @@
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select  * from h_v_Gy_QCCheckProjectList_Main order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                    ds = oCN.RunProcReturn("select  * from h_v_Gy_QCCheckProjectList_Main  order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                }
                else
                {
@@ -1387,13 +1387,21 @@
                    //==================================================================================      
                    //审核提交
                    if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_QCCheckProject_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    if (!oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_QCCheckProject_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = " å®¡æ ¸æˆåŠŸï¼";
                        objJsonResult.data = null;
                        return objJsonResult; ;
                    }
                }
@@ -1436,7 +1444,7 @@
                        //===========================================================          
                        //反审核提交AbandonCheck
                        if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_QCCheckProject_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        if (!oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_QCCheckProject_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -1444,6 +1452,14 @@
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = " åå®¡æ ¸æˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                }
WebAPI/Controllers/WebAPIController.cs
@@ -18287,7 +18287,7 @@
                ds = oCN.RunProcReturn("select  top 1 * from h_v_Gy_QCCheckProjectList_Main where ç‰©æ–™åç§°='"+HName+ "' and å·¥åºåç§°='" + HProName + "' and HSourceID='" + HSourceID + "'   order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    ds = oCN.RunProcReturn("select  top 1 * from h_v_Gy_QCCheckProjectList_Main where ç‰©æ–™åç§°='" + HName + "' and å·¥åºåç§°='" + HProName + "'  order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                    ds = oCN.RunProcReturn("select  top 1 * from h_v_Gy_QCCheckProjectList_Main where ç‰©æ–™åç§°='" + HName + "' and  ='" + HProName + "'  order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
WebAPI/Controllers/XSGL/Crm_ComplainVisitBillController.cs
New file
@@ -0,0 +1,978 @@
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
{
    //客户拜访记录单Controller
    public class Crm_ComplainVisitBillController : ApiController
    {
        //客户拜访记录单
        //获取系统参数    Crm_ComplainVisitBillMain
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public DAL.ClsCrm_ComplainVisitBill BillOld = new DAL.ClsCrm_ComplainVisitBill();
        public DAL.ClsCrm_ComplainVisitBill BillNew0 = new DAL.ClsCrm_ComplainVisitBill();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region å®¢æˆ·æ‹œè®¿è®°å½•单 æŸ¥è¯¢
        /// <summary>
        /// è¿”回项目阶段列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Crm_ComplainVisitBill/Crm_ComplainVisitBillMainList")]
        [HttpGet]
        public object Crm_ComplainVisitBillMainList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Crm_ComplainVisitBill_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_Crm_ComplainVisitBillMainList order by å•据号 desc", "h_v_Crm_ComplainVisitBillMainList");
                }
                else
                {
                    string sql1 = "select * from h_v_Crm_ComplainVisitBillMainList where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by å•据号 desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Crm_ComplainVisitBillMainList");
                }
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ‹œè®¿è®°å½•单  ä¿å­˜ æ–°å¢ž/编辑
        [Route("Crm_ComplainVisitBill/SaveCrm_ComplainVisitBillMain")]
        [HttpPost]
        public object SaveCrm_ComplainVisitBillMain([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string refSav = sArray[1].ToString();//操作方式数据类型 1添加 3修改 2 å¤åˆ¶
            string msg4 = sArray[2].ToString();//用户名
            DBUtility.ClsPub.CurUserName = msg4;
            string UserName = "";
            string s = "";
            ListModels oListModels = new ListModels();
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Crm_ComplainVisitBill_Edit", 1, false, msg4))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsCrm_ComplainVisitBill oBill = new DAL.ClsCrm_ComplainVisitBill();
                List<Model.ClsCrm_ComplainVisitBillMain> lsmain = new List<Model.ClsCrm_ComplainVisitBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Crm_ComplainVisitBillMain(msg2);
                foreach (Model.ClsCrm_ComplainVisitBillMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        //单据号是否重复
                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (BillOld.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //判断是否可编辑
                        if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = s + ",不允许修改";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "4099";
                    oItem.HBillSubType = "4099";
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (refSav == "Add")
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else if (refSav == "Update")
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = false;
                }
                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 å®¢æˆ·æ‹œè®¿è®°å½•单   ç¼–辑页面初始化
        [Route("Crm_ComplainVisitBill/Crm_ComplainVisitBillMainEditList")]
        [HttpGet]
        public object Crm_ComplainVisitBillMainEditList(long HInterID)
        {
            try
            {
                List<DataTable> tableList = new List<DataTable>();
                //返回列表信息
                ds = oCN.RunProcReturn("select * from h_v_Crm_ComplainVisitBillMainEdit where 1=1 and HInterID=" + HInterID , "h_v_Crm_ComplainVisitBillMainEdit");
                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 = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ‹œè®¿è®°å½•单   åˆ é™¤
        /// <summary>
        ///参数:string HInterID。
        ///返回值:object。
        /// </summary>
        [Route("Crm_ComplainVisitBill/DeleteCrm_ComplainVisitBillMain")]
        [HttpGet]
        public object DeleteCrm_ComplainVisitBillMain(string HInterID, string user)
        {
            try
            {
                string s = "";
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Crm_ComplainVisitBill_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID == null || HInterID.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (BillOld.ShowBill(long.Parse(HInterID), ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据有误!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //判断是否可删除
                if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据已经被审核,不允许删除!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //判断是否是创建状态进行删除
                if (int.Parse(BillOld.omodel.HBillStatus.ToString()) <= 1)
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //删除前控制=========================================
                    string sql1 = "exec h_p_Crm_ComplainVisitBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Crm_ComplainVisitBill_BeforeDelCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //==================================================================================
                    oCN.BeginTran();
                    oCN.RunProc("delete from Crm_ComplainVisitBillMain where HInterID = " + HInterID);
                    oCN.RunProc("delete from Crm_ComplainVisitBillSub where HInterID= " + HInterID);
                    //删除后控制==================================================================================
                    string sql2 = "exec h_p_Crm_ComplainVisitBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql2, "h_p_Crm_ComplainVisitBill_AfterDelCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        s = "删除后判断失败,请与网络管理人员联系";
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + s;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        s = ds.Tables[0].Rows[0]["HRemark"].ToString();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + s;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==============================================================================================
                    oCN.Commit();
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据不是创建状态,不允许删除!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ‹œè®¿è®°å½•单   å®¡æ ¸/反审核
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Crm_ComplainVisitBill/AuditCrm_ComplainVisitBillMain")]
        [HttpGet]
        public object AuditCrm_ComplainVisitBillMain(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Crm_ComplainVisitBill_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsCrm_ComplainVisitBill oBill = new DAL.ClsCrm_ComplainVisitBill();                              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已关闭!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //审核判断
                    {
                        if (oBill.omodel.HChecker.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        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 (IsAudit == 0) //审核提交
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    oCN.BeginTran();
                    //审核前控制=========================================
                    string sql1 = "exec h_p_Crm_ComplainVisitBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Crm_ComplainVisitBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //审核提交
                    if (oBill.CheckBill(oBill.omodel.HInterID,oBill.omodel.HBillNo, "h_p_Crm_ComplainVisitBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        oCN.Commit();
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                if (IsAudit == 1) //反审核提交
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //反审核前控制=========================================
                    string sql1 = "exec h_p_Crm_ComplainVisitBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Crm_ComplainVisitBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //===========================================================
                    //反审核提交AbandonCheck
                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Crm_ComplainVisitBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ‹œè®¿è®°å½•单   å…³é—­/反关闭
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">关闭(0),反关闭(1)</param>
        /// <param name="CurUserName">关闭人</param>
        /// <returns></returns>
        [Route("Crm_ComplainVisitBill/CloseCrm_ComplainVisitBill")]
        [HttpGet]
        public object CloseCrm_ComplainVisitBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Crm_ComplainVisitBill_Close";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //检查权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "关闭失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsCrm_ComplainVisitBill oBill = new DAL.ClsCrm_ComplainVisitBill();              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未审核!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //关闭判断
                    {
                        if (oBill.omodel.HCloseMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反关闭判断
                    {
                        if (oBill.omodel.HCloseMan.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 (IsAudit == 0) //关闭提交
                {
                    //关闭提交
                    if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                if (IsAudit == 1) //反关闭提交
                {
                    //反关闭提交
                    if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "关闭失败或者反关闭失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ‹œè®¿è®°å½•单   ä½œåºŸ/反作废
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">作废(0),反作废(1)</param>
        /// <param name="CurUserName">作废人</param>
        /// <returns></returns>
        [Route("Crm_ComplainVisitBill/DropCrm_ComplainVisitBill")]
        [HttpGet]
        public object DropCrm_ComplainVisitBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Crm_ComplainVisitBill_Drop";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //检查权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "作废失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsCrm_ComplainVisitBill oBill = new DAL.ClsCrm_ComplainVisitBill();              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HChecker.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核!不能进行作废!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //作废判断
                    {
                        if (oBill.omodel.HDeleteMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再作废!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反作废判断
                    {
                        if (oBill.omodel.HDeleteMan.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 (IsAudit == 0) //作废提交
                {
                    //作废前控制=========================================
                    string sql1 = "exec h_p_Crm_ComplainVisitBill_BeforeDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Crm_ComplainVisitBill_BeforeDropCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:作废前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //作废提交
                    if (oBill.Cancelltion(lngBillKey, oBill.omodel.HBillNo, "h_p_Crm_ComplainVisitBill_AfterDropCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                if (IsAudit == 1) //反作废提交
                {
                    //反作废前控制=========================================
                    string sql1 = "exec h_p_Crm_ComplainVisitBill_BeforeUnDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Crm_ComplainVisitBill_BeforeUnDropCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:反作废前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //反作废提交
                    if (oBill.AbandonCancelltion(lngBillKey, oBill.omodel.HBillNo, "h_p_Crm_ComplainVisitBill_AfterDropCtrl", CurUserName,  ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "作废失败或者反作废失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/XSGL/Xs_SeQuotationBillController.cs
New file
@@ -0,0 +1,1000 @@
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
{
    //销售报价单Controller
    public class Xs_SeQuotationBillController : ApiController
    {
        //销售报价单
        //获取系统参数    Xs_SeQuotationBillMain
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public DAL.ClsXs_SeQuotationBill BillOld = new DAL.ClsXs_SeQuotationBill();
        public DAL.ClsXs_SeQuotationBill BillNew0 = new DAL.ClsXs_SeQuotationBill();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region é”€å”®æŠ¥ä»·å•列表 æŸ¥è¯¢
        /// <summary>
        /// è¿”回项目阶段列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Xs_SeQuotationBill/Xs_SeQuotationBillMainList")]
        [HttpGet]
        public object Xs_SeQuotationBillMainList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Xs_SeQuotationBill_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_Xs_SeQuotationBillMainList order by å•据号 desc", "h_v_Xs_SeQuotationBillMainList");
                }
                else
                {
                    string sql1 = "select * from h_v_Xs_SeQuotationBillMainList where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by å•据号 desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Xs_SeQuotationBillMainList");
                }
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é”€å”®æŠ¥ä»·å•保存 æ–°å¢ž/编辑
        [Route("Xs_SeQuotationBill/SaveXs_SeQuotationBillMain")]
        [HttpPost]
        public object SaveXs_SeQuotationBillMain([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString(); //子表
            string refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 å¤åˆ¶
            string msg4 = sArray[3].ToString();//用户名
            DBUtility.ClsPub.CurUserName = msg4;
            string UserName = "";
            string s = "";
            ListModels oListModels = new ListModels();
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Xs_SeQuotationBill_Edit", 1, false, msg4))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsXs_SeQuotationBill oBill = new DAL.ClsXs_SeQuotationBill();
                List<Model.ClsXs_SeQuotationBillMain> lsmain = new List<Model.ClsXs_SeQuotationBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Xs_SeQuotationBillMain(msg2);
                foreach (Model.ClsXs_SeQuotationBillMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        //单据号是否重复
                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (BillOld.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //判断是否可编辑
                        if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = s + ",不允许修改";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "1410";
                    oItem.HBillSubType = "1410";
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    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.ClsXs_SeQuotationBillSub> ls = new List<Model.ClsXs_SeQuotationBillSub>();
                ls = oListModels.getObjectByJson_Xs_SeQuotationBillSub(msg3);
                int i = 0;
                foreach (Model.ClsXs_SeQuotationBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailColl.Add(oItemSub);
                }
                //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (refSav == "Add")
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else if (refSav == "Update")
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = false;
                }
                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 é”€å”®æŠ¥ä»·å• ç¼–辑页面初始化
        [Route("Xs_SeQuotationBill/Xs_SeQuotationBillMainEditList")]
        [HttpGet]
        public object Xs_SeQuotationBillMainEditList(long HInterID)
        {
            try
            {
                List<DataTable> tableList = new List<DataTable>();
                //返回列表信息
                ds = oCN.RunProcReturn("select * from h_v_Xs_SeQuotationBillMainEdit where 1=1 and HInterID=" + HInterID , "h_v_Xs_SeQuotationBillMainEdit");
                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 = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é”€å”®æŠ¥ä»·å• åˆ é™¤
        /// <summary>
        ///参数:string HInterID。
        ///返回值:object。
        /// </summary>
        [Route("Xs_SeQuotationBill/DeleteXs_SeQuotationBillMain")]
        [HttpGet]
        public object DeleteXs_SeQuotationBillMain(string HInterID, string user)
        {
            try
            {
                string s = "";
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Xs_SeQuotationBill_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID == null || HInterID.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (BillOld.ShowBill(long.Parse(HInterID), ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据有误!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //判断是否可删除
                if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据已经被审核,不允许删除!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //判断是否是创建状态进行删除
                if (int.Parse(BillOld.omodel.HBillStatus.ToString()) <= 1)
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //删除前控制=========================================
                    string sql1 = "exec h_p_Xs_SeQuotationBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeQuotationBill_BeforeDelCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //==================================================================================
                    oCN.BeginTran();
                    oCN.RunProc("delete from Xs_SeQuotationBillMain where HInterID = " + HInterID);
                    oCN.RunProc("delete from Xs_SeQuotationBillSub where HInterID= " + HInterID);
                    //删除后控制==================================================================================
                    string sql2 = "exec h_p_Xs_SeQuotationBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql2, "h_p_Xs_SeQuotationBill_AfterDelCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        s = "删除后判断失败,请与网络管理人员联系";
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + s;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        s = ds.Tables[0].Rows[0]["HRemark"].ToString();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除失败!原因:" + s;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==============================================================================================
                    oCN.Commit();
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据不是创建状态,不允许删除!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é”€å”®æŠ¥ä»·å• å®¡æ ¸/反审核
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Xs_SeQuotationBill/AuditXs_SeQuotationBillMain")]
        [HttpGet]
        public object AuditXs_SeQuotationBillMain(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Xs_SeQuotationBill_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsXs_SeQuotationBill oBill = new DAL.ClsXs_SeQuotationBill();                              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已关闭!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //审核判断
                    {
                        if (oBill.omodel.HChecker.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        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 (IsAudit == 0) //审核提交
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    oCN.BeginTran();
                    //审核前控制=========================================
                    string sql1 = "exec h_p_Xs_SeQuotationBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeQuotationBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //审核提交
                    if (oBill.CheckBill(oBill.omodel.HInterID,oBill.omodel.HBillNo, "h_p_Xs_SeQuotationBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        oCN.Commit();
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                if (IsAudit == 1) //反审核提交
                {
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //反审核前控制=========================================
                    string sql1 = "exec h_p_Xs_SeQuotationBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeQuotationBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //===========================================================
                    //反审核提交AbandonCheck
                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeQuotationBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é”€å”®æŠ¥ä»·å• å…³é—­/反关闭
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">关闭(0),反关闭(1)</param>
        /// <param name="CurUserName">关闭人</param>
        /// <returns></returns>
        [Route("Xs_SeQuotationBill/CloseXs_SeQuotationBill")]
        [HttpGet]
        public object CloseXs_SeQuotationBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Xs_SeQuotationBill_Close";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //检查权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "关闭失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsXs_SeQuotationBill oBill = new DAL.ClsXs_SeQuotationBill();              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未审核!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //关闭判断
                    {
                        if (oBill.omodel.HCloseMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反关闭判断
                    {
                        if (oBill.omodel.HCloseMan.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 (IsAudit == 0) //关闭提交
                {
                    //关闭提交
                    if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                if (IsAudit == 1) //反关闭提交
                {
                    //反关闭提交
                    if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "关闭失败或者反关闭失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é”€å”®æŠ¥ä»·å• ä½œåºŸ/反作废
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">作废(0),反作废(1)</param>
        /// <param name="CurUserName">作废人</param>
        /// <returns></returns>
        [Route("Xs_SeQuotationBill/DropXs_SeQuotationBill")]
        [HttpGet]
        public object DropXs_SeQuotationBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "Xs_SeQuotationBill_Drop";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //检查权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "作废失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //HInterID数据判断
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsXs_SeQuotationBill oBill = new DAL.ClsXs_SeQuotationBill();              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HChecker.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核!不能进行作废!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0)  //作废判断
                    {
                        if (oBill.omodel.HDeleteMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再作废!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反作废判断
                    {
                        if (oBill.omodel.HDeleteMan.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 (IsAudit == 0) //作废提交
                {
                    //作废前控制=========================================
                    string sql1 = "exec h_p_Xs_SeQuotationBill_BeforeDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeQuotationBill_BeforeDropCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:作废前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //作废提交
                    if (oBill.Cancelltion(lngBillKey, oBill.omodel.HBillNo, "h_p_Xs_SeQuotationBill_AfterDropCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                if (IsAudit == 1) //反作废提交
                {
                    //反作废前控制=========================================
                    string sql1 = "exec h_p_Xs_SeQuotationBill_BeforeUnDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeQuotationBill_BeforeUnDropCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:反作废前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    //==================================================================================
                    //反作废提交
                    if (oBill.AbandonCancelltion(lngBillKey, oBill.omodel.HBillNo, "h_p_Xs_SeQuotationBill_AfterDropCtrl", CurUserName,  ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        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;
                    }
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "作废失败或者反作废失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs
@@ -23,18 +23,7 @@
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        public class ClsYS_ReceiveOtherBillSubs
        {
            public Int64 HProjectMoneyIDSub;//   int     //费用项目
            public string HTypeSub;//   varchar(20)     --发票类型
            public double HMoneySub;//  dec(18,8) //单据金额
            public double HTaxRateSub;//  dec(18,8) //税率
            public double HSumMoneySub;//  dec(18,8) //总金额
        }
        DataSet ds;
        #region å…¶ä»–应收单列表 æŸ¥è¯¢
        /// <summary>
WebAPI/Controllers/Æ·ÖʹÜÀí/»ù´¡×ÊÁÏ/Gy_BaseInformationController.cs
@@ -20,6 +20,7 @@
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public DataSet ds1 = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        public DAL.ClsGy_EnvironmentTestSchemeBillMain OBill = new DAL.ClsGy_EnvironmentTestSchemeBillMain();       //环境检测方案
        public DAL.ClsGy_EnvironmentTestSchemeBillMain BillOld = new DAL.ClsGy_EnvironmentTestSchemeBillMain();  //环境检测方案
@@ -414,7 +415,6 @@
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -453,8 +453,8 @@
                        }
                        //审核前控制=========================================      
                        string sql1 = "exec h_p_Gy_EnvironmentTestSchemeBill_BeforeCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -464,11 +464,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
@@ -489,7 +489,6 @@
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
@@ -520,8 +519,8 @@
                        }
                        //反审核前控制=========================================        
                        string sql1 = "exec h_p_Gy_EnvironmentTestSchemeBill_BeforeUnCheckCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeUnCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeUnCheckCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -530,11 +529,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "反审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -752,7 +751,6 @@
                if (Type == 1)
                {
                    //判断单据是否已经作废
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -783,8 +781,8 @@
                        }
                        //作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_EnvironmentTestSchemeBill_BeforeDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -794,11 +792,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "审核失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
@@ -841,8 +839,8 @@
                        }
                        //反作废前控制=========================================      
                        string sql1 = "exec h_p_Gy_EnvironmentTestSchemeBill_BeforeUnDropCtrl " + HInterID + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeUnDropCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EnvironmentTestSchemeBill_BeforeUnDropCtrl");
                        if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
@@ -852,11 +850,11 @@
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "作废失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
WebAPI/Controllers/¹¤×ʹÜÀí/HR_PostSkillBillController.cs
@@ -536,7 +536,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                            objJsonResult.Message = "作废失败!原因:作废前判断失败,请与网络管理人员联系";
                            objJsonResult.data = null;
                            oCn.RollBack();
                            return objJsonResult;
@@ -546,7 +546,7 @@
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.Message = "作废失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCn.RollBack();
                            return objJsonResult;
WebAPI/ListModels.cs
@@ -1758,6 +1758,55 @@
        }
        /// <summary>
        /// å¤„理新增销售报价单表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsXs_SeQuotationBillMain> getObjectByJson_Xs_SeQuotationBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsXs_SeQuotationBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsXs_SeQuotationBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增销售报价子单表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsXs_SeQuotationBillSub> getObjectByJson_Xs_SeQuotationBillSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsXs_SeQuotationBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsXs_SeQuotationBillSub>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增客户拜访记录单表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsCrm_ComplainVisitBillMain> getObjectByJson_Crm_ComplainVisitBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsCrm_ComplainVisitBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsCrm_ComplainVisitBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增客户拜访记录单子表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsCrm_ComplainVisitBillSub> getObjectByJson_Crm_ComplainVisitBillSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsCrm_ComplainVisitBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsCrm_ComplainVisitBillSub>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增其他应付单表的json
        /// </summary>
        /// <param name="jsonString"></param>
WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
    <History>True|2025-03-12T06:10:23.4204108Z;False|2025-03-12T14:08:08.4985635+08:00;True|2025-03-12T13:34:39.8492928+08:00;False|2025-03-12T13:31:34.8359622+08:00;True|2025-03-12T11:39:34.2976894+08:00;False|2025-03-12T09:22:45.9334513+08:00;True|2025-03-10T15:59:42.1283263+08:00;False|2025-03-10T15:53:57.2115226+08:00;True|2025-03-07T16:23:25.1589274+08:00;True|2025-03-07T16:18:46.0202723+08:00;True|2025-03-07T15:59:34.8313474+08:00;True|2025-03-07T15:37:59.1693363+08:00;True|2025-03-07T14:05:40.7253978+08:00;True|2025-03-07T11:21:14.9610137+08:00;False|2025-03-07T11:15:41.4171028+08:00;True|2025-03-07T10:23:24.0437379+08:00;True|2025-03-07T10:07:03.4231550+08:00;False|2025-03-07T10:04:32.6854924+08:00;True|2025-03-06T16:32:23.7096239+08:00;True|2025-03-06T15:45:46.0345284+08:00;True|2025-03-06T15:40:00.7026164+08:00;True|2025-03-06T15:20:20.3523488+08:00;True|2025-03-06T14:19:37.2403331+08:00;True|2025-03-06T13:49:03.6420821+08:00;False|2025-03-06T13:46:35.7037619+08:00;True|2025-03-06T11:03:29.5882789+08:00;True|2025-03-06T09:59:53.3080173+08:00;True|2025-03-06T09:43:48.4337079+08:00;False|2025-03-06T09:35:05.3462434+08:00;True|2025-03-05T18:25:35.2595591+08:00;True|2025-03-05T18:03:37.5687895+08:00;True|2025-03-05T17:48:08.3418269+08:00;False|2025-03-05T17:44:40.0721881+08:00;True|2025-03-05T17:23:30.5871011+08:00;True|2025-03-05T16:31:12.2285816+08:00;True|2025-03-05T16:00:25.5496303+08:00;True|2025-03-05T15:11:30.9434230+08:00;True|2025-03-05T14:22:08.4650724+08:00;True|2025-03-05T13:29:42.9306833+08:00;True|2025-03-05T11:28:17.5541196+08:00;True|2025-03-05T11:10:22.3318023+08:00;True|2025-03-05T10:55:33.6796527+08:00;True|2025-03-05T10:08:26.7761472+08:00;True|2025-03-05T10:02:32.8701262+08:00;False|2025-03-05T09:59:55.0044057+08:00;True|2025-03-04T17:48:24.6869079+08:00;True|2025-03-04T17:42:05.0276293+08:00;False|2025-03-04T17:39:53.6208557+08:00;False|2025-03-04T17:39:30.0759309+08:00;False|2025-03-04T17:05:37.2163588+08:00;True|2025-03-04T16:51:15.6884461+08:00;True|2025-03-04T16:49:03.3836181+08:00;True|2025-03-04T16:31:36.5847402+08:00;True|2025-03-04T15:52:09.1977151+08:00;True|2025-03-04T15:24:25.0194954+08:00;True|2025-03-04T15:12:44.1606138+08:00;False|2025-03-04T15:10:47.3915404+08:00;True|2025-03-04T14:31:42.7483906+08:00;True|2025-03-04T11:28:36.6001869+08:00;False|2025-02-27T19:55:43.0462466+08:00;True|2025-02-24T16:03:00.5507258+08:00;False|2025-02-24T16:00:00.9104160+08:00;True|2025-02-19T16:55:31.8966125+08:00;True|2025-02-19T14:51:19.5866770+08:00;False|2025-02-19T14:49:16.2857645+08:00;True|2025-02-19T14:11:03.8109482+08:00;False|2025-02-19T14:08:17.7243950+08:00;True|2025-02-19T11:16:48.1875981+08:00;False|2025-02-19T11:14:24.0571589+08:00;True|2025-02-19T10:17:34.3257301+08:00;False|2025-02-19T10:14:49.0730325+08:00;True|2025-02-18T09:38:54.9616937+08:00;True|2025-02-18T09:16:03.1196071+08:00;False|2025-02-18T09:13:52.5022130+08:00;True|2025-02-17T17:28:38.1103164+08:00;True|2025-02-17T17:06:19.1494960+08:00;True|2025-02-17T16:58:21.8893871+08:00;False|2025-02-17T16:56:34.0012780+08:00;True|2025-02-17T15:56:45.9560949+08:00;False|2025-02-17T15:29:32.9323141+08:00;False|2025-02-17T15:27:54.6615301+08:00;False|2025-02-17T15:25:42.7179137+08:00;True|2025-02-12T10:48:39.4029671+08:00;True|2025-02-12T10:45:09.8138793+08:00;False|2025-02-12T10:43:37.5751112+08:00;False|2025-02-12T10:43:24.8201898+08:00;False|2025-02-12T10:42:58.2736984+08:00;False|2025-02-12T10:42:46.1482594+08:00;False|2025-02-12T10:42:01.5427330+08:00;False|2025-02-12T10:41:48.3761346+08:00;False|2025-02-12T10:41:29.3367142+08:00;True|2025-02-11T15:41:34.0746843+08:00;True|2025-02-11T15:39:37.3374891+08:00;False|2025-02-11T15:39:27.0449176+08:00;False|2025-02-11T15:08:35.2970100+08:00;True|2025-02-11T14:59:59.6539416+08:00;True|2025-02-11T14:56:20.5954601+08:00;False|2025-02-11T14:55:35.6700921+08:00;True|2025-02-10T09:39:38.7399451+08:00;False|2025-02-10T09:39:10.1358642+08:00;True|2025-02-08T16:00:23.1136903+08:00;False|2025-02-08T15:59:50.0414065+08:00;True|2025-01-17T10:17:41.6850215+08:00;False|2025-01-17T10:16:20.3202054+08:00;True|2025-01-17T09:00:26.6966310+08:00;False|2025-01-17T08:59:59.9527727+08:00;True|2025-01-16T11:06:57.1014257+08:00;True|2025-01-16T10:27:57.2742426+08:00;False|2025-01-16T10:27:27.5197746+08:00;True|2025-01-15T11:05:17.5523582+08:00;True|2025-01-15T09:37:34.6118980+08:00;False|2025-01-15T09:36:27.7987949+08:00;True|2025-01-14T12:52:06.2234405+08:00;True|2025-01-14T12:50:08.8487446+08:00;False|2025-01-14T12:49:45.2743330+08:00;True|2025-01-14T10:31:18.6477403+08:00;False|2025-01-14T10:29:30.1534049+08:00;True|2025-01-13T15:27:00.4497527+08:00;True|2025-01-13T15:01:33.6142160+08:00;True|2025-01-13T10:29:49.4772980+08:00;True|2025-01-13T10:11:15.7993265+08:00;True|2025-01-13T10:08:58.9378828+08:00;False|2025-01-13T10:08:44.9869073+08:00;True|2025-01-13T10:02:17.5175561+08:00;False|2025-01-13T10:02:00.9991870+08:00;True|2025-01-08T17:50:21.7468469+08:00;True|2025-01-08T16:38:48.8592252+08:00;True|2025-01-08T10:44:42.9161086+08:00;False|2025-01-08T10:44:09.4840640+08:00;True|2025-01-08T10:34:31.5982265+08:00;False|2025-01-08T10:33:57.3576390+08:00;True|2025-01-03T17:19:09.1765100+08:00;True|2025-01-03T17:10:41.8794009+08:00;True|2025-01-03T17:10:11.4245485+08:00;True|2025-01-03T15:54:22.3387906+08:00;True|2025-01-03T15:41:44.9897120+08:00;False|2025-01-03T15:40:42.1357112+08:00;False|2025-01-03T15:39:09.0564197+08:00;True|2025-01-03T14:58:31.5701467+08:00;True|2025-01-03T14:29:13.4456304+08:00;False|2025-01-03T14:27:18.9925263+08:00;True|2025-01-02T16:08:24.1819376+08:00;True|2025-01-02T16:07:01.1636705+08:00;True|2025-01-02T16:03:02.6520904+08:00;True|2025-01-02T10:03:56.0551738+08:00;False|2025-01-02T10:03:34.8632732+08:00;True|2024-12-31T15:27:01.3180960+08:00;True|2024-12-31T11:17:12.2977529+08:00;True|2024-12-31T10:48:14.7205535+08:00;True|2024-12-31T10:18:45.6669875+08:00;False|2024-12-31T10:18:21.6706557+08:00;True|2024-12-30T09:32:44.3898729+08:00;True|2024-12-30T09:31:24.5771941+08:00;False|2024-12-30T09:30:52.4031391+08:00;True|2024-12-27T16:12:20.2836752+08:00;False|2024-12-27T16:11:04.6614343+08:00;True|2024-12-27T15:07:23.0750147+08:00;True|2024-12-27T15:04:52.7876532+08:00;True|2024-12-27T14:37:54.3154829+08:00;False|2024-12-27T14:37:26.9546174+08:00;True|2024-12-26T16:33:56.0452167+08:00;True|2024-12-26T16:29:21.4115458+08:00;True|2024-12-26T16:29:02.0242815+08:00;True|2024-12-26T15:17:24.7390981+08:00;False|2024-12-26T15:13:26.8863189+08:00;True|2024-12-26T15:06:35.4541902+08:00;True|2024-12-26T11:35:42.2760106+08:00;False|2024-12-26T11:35:08.9255789+08:00;True|2024-12-26T10:10:29.7487991+08:00;True|2024-12-26T09:27:40.2637311+08:00;False|2024-12-26T09:25:52.1339136+08:00;True|2024-12-24T15:11:48.9968778+08:00;True|2024-12-24T15:06:55.0283993+08:00;True|2024-12-24T14:36:29.6466740+08:00;True|2024-12-24T10:28:42.7489880+08:00;False|2024-12-24T10:28:08.6809715+08:00;True|2024-12-24T10:06:05.9449103+08:00;False|2024-12-24T10:05:32.8409161+08:00;True|2024-12-23T14:56:40.3416256+08:00;True|2024-12-23T14:50:50.2677378+08:00;True|2024-12-23T14:48:27.8169391+08:00;True|2024-12-23T14:45:25.5341474+08:00;True|2024-12-23T14:42:23.7825087+08:00;True|2024-12-23T14:35:53.8876449+08:00;True|2024-12-23T14:14:00.4257926+08:00;True|2024-12-23T11:10:54.5874876+08:00;True|2024-12-23T11:08:44.0250304+08:00;False|2024-12-23T11:08:18.5757850+08:00;True|2024-12-20T12:51:29.2354841+08:00;True|2024-12-20T12:46:13.7636932+08:00;False|2024-12-20T12:44:21.1473486+08:00;False|2024-12-20T12:44:06.5427106+08:00;True|2024-12-20T12:29:33.9971940+08:00;False|2024-12-20T12:29:01.0285205+08:00;True|2024-12-19T15:49:19.9906264+08:00;True|2024-12-19T14:55:54.3323405+08:00;True|2024-12-19T14:17:50.5086161+08:00;True|2024-12-19T14:08:16.0919011+08:00;True|2024-12-19T14:02:50.3092759+08:00;True|2024-12-19T13:54:41.2332165+08:00;False|2024-12-19T13:54:07.6973483+08:00;True|2024-12-19T09:34:54.5332110+08:00;True|2024-12-19T08:49:05.5690428+08:00;False|2024-12-19T08:48:51.0618113+08:00;True|2024-12-18T15:45:34.7174246+08:00;False|2024-12-18T15:45:10.3226822+08:00;True|2024-12-18T15:32:03.5983267+08:00;True|2024-12-18T15:31:20.1219502+08:00;True|2024-12-18T11:57:09.1595607+08:00;True|2024-12-18T11:13:37.4765697+08:00;True|2024-12-18T10:07:54.1294714+08:00;True|2024-12-18T10:04:16.0967342+08:00;False|2024-12-18T10:04:04.1561560+08:00;True|2024-12-16T17:07:07.3386872+08:00;True|2024-12-16T16:34:59.1101964+08:00;True|2024-12-16T16:19:07.9287470+08:00;False|2024-12-16T16:18:46.4617432+08:00;True|2024-12-13T18:06:11.0778539+08:00;True|2024-12-13T16:53:52.2283177+08:00;True|2024-12-13T16:23:15.9531944+08:00;True|2024-12-13T13:58:03.7464045+08:00;True|2024-12-13T10:40:33.9285602+08:00;True|2024-12-13T10:38:03.8494063+08:00;False|2024-12-13T10:37:52.4251132+08:00;True|2024-12-13T10:31:07.4994631+08:00;False|2024-12-13T10:30:40.8021885+08:00;True|2024-12-12T10:01:42.4944750+08:00;False|2024-12-12T10:01:15.7147977+08:00;True|2024-12-11T17:21:58.0453583+08:00;True|2024-12-11T10:59:15.3836831+08:00;True|2024-12-11T09:49:19.4060272+08:00;False|2024-12-11T09:48:51.7603525+08:00;True|2024-12-11T08:58:41.4567855+08:00;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
    <History>False|2025-03-17T03:09:34.0681444Z;True|2025-03-17T10:50:21.9158331+08:00;True|2025-03-17T09:42:47.9252167+08:00;False|2025-03-17T09:31:53.1872136+08:00;True|2025-03-14T17:46:56.2806627+08:00;True|2025-03-14T16:26:15.6828252+08:00;True|2025-03-14T16:14:53.0710942+08:00;True|2025-03-14T16:08:09.5365263+08:00;True|2025-03-14T15:59:01.3358337+08:00;True|2025-03-14T14:22:42.7725023+08:00;True|2025-03-14T09:54:22.0848434+08:00;False|2025-03-14T09:51:59.6649411+08:00;True|2025-03-14T09:36:17.1134782+08:00;False|2025-03-14T09:31:58.5198805+08:00;True|2025-03-13T13:08:01.9024847+08:00;False|2025-03-13T13:03:35.7160929+08:00;True|2025-03-12T15:37:13.4111189+08:00;True|2025-03-12T15:23:55.5422176+08:00;True|2025-03-12T15:16:21.2123980+08:00;True|2025-03-12T14:49:24.9895017+08:00;True|2025-03-12T14:41:41.5663090+08:00;False|2025-03-12T14:39:27.3156286+08:00;True|2025-03-12T14:10:23.4204108+08:00;False|2025-03-12T14:08:08.4985635+08:00;True|2025-03-12T13:34:39.8492928+08:00;False|2025-03-12T13:31:34.8359622+08:00;True|2025-03-12T11:39:34.2976894+08:00;False|2025-03-12T09:22:45.9334513+08:00;True|2025-03-10T15:59:42.1283263+08:00;False|2025-03-10T15:53:57.2115226+08:00;True|2025-03-07T16:23:25.1589274+08:00;True|2025-03-07T16:18:46.0202723+08:00;True|2025-03-07T15:59:34.8313474+08:00;True|2025-03-07T15:37:59.1693363+08:00;True|2025-03-07T14:05:40.7253978+08:00;True|2025-03-07T11:21:14.9610137+08:00;False|2025-03-07T11:15:41.4171028+08:00;True|2025-03-07T10:23:24.0437379+08:00;True|2025-03-07T10:07:03.4231550+08:00;False|2025-03-07T10:04:32.6854924+08:00;True|2025-03-06T16:32:23.7096239+08:00;True|2025-03-06T15:45:46.0345284+08:00;True|2025-03-06T15:40:00.7026164+08:00;True|2025-03-06T15:20:20.3523488+08:00;True|2025-03-06T14:19:37.2403331+08:00;True|2025-03-06T13:49:03.6420821+08:00;False|2025-03-06T13:46:35.7037619+08:00;True|2025-03-06T11:03:29.5882789+08:00;True|2025-03-06T09:59:53.3080173+08:00;True|2025-03-06T09:43:48.4337079+08:00;False|2025-03-06T09:35:05.3462434+08:00;True|2025-03-05T18:25:35.2595591+08:00;True|2025-03-05T18:03:37.5687895+08:00;True|2025-03-05T17:48:08.3418269+08:00;False|2025-03-05T17:44:40.0721881+08:00;True|2025-03-05T17:23:30.5871011+08:00;True|2025-03-05T16:31:12.2285816+08:00;True|2025-03-05T16:00:25.5496303+08:00;True|2025-03-05T15:11:30.9434230+08:00;True|2025-03-05T14:22:08.4650724+08:00;True|2025-03-05T13:29:42.9306833+08:00;True|2025-03-05T11:28:17.5541196+08:00;True|2025-03-05T11:10:22.3318023+08:00;True|2025-03-05T10:55:33.6796527+08:00;True|2025-03-05T10:08:26.7761472+08:00;True|2025-03-05T10:02:32.8701262+08:00;False|2025-03-05T09:59:55.0044057+08:00;True|2025-03-04T17:48:24.6869079+08:00;True|2025-03-04T17:42:05.0276293+08:00;False|2025-03-04T17:39:53.6208557+08:00;False|2025-03-04T17:39:30.0759309+08:00;False|2025-03-04T17:05:37.2163588+08:00;True|2025-03-04T16:51:15.6884461+08:00;True|2025-03-04T16:49:03.3836181+08:00;True|2025-03-04T16:31:36.5847402+08:00;True|2025-03-04T15:52:09.1977151+08:00;True|2025-03-04T15:24:25.0194954+08:00;True|2025-03-04T15:12:44.1606138+08:00;False|2025-03-04T15:10:47.3915404+08:00;True|2025-03-04T14:31:42.7483906+08:00;True|2025-03-04T11:28:36.6001869+08:00;False|2025-02-27T19:55:43.0462466+08:00;True|2025-02-24T16:03:00.5507258+08:00;False|2025-02-24T16:00:00.9104160+08:00;True|2025-02-19T16:55:31.8966125+08:00;True|2025-02-19T14:51:19.5866770+08:00;False|2025-02-19T14:49:16.2857645+08:00;True|2025-02-19T14:11:03.8109482+08:00;False|2025-02-19T14:08:17.7243950+08:00;True|2025-02-19T11:16:48.1875981+08:00;False|2025-02-19T11:14:24.0571589+08:00;True|2025-02-19T10:17:34.3257301+08:00;False|2025-02-19T10:14:49.0730325+08:00;True|2025-02-18T09:38:54.9616937+08:00;True|2025-02-18T09:16:03.1196071+08:00;False|2025-02-18T09:13:52.5022130+08:00;True|2025-02-17T17:28:38.1103164+08:00;True|2025-02-17T17:06:19.1494960+08:00;True|2025-02-17T16:58:21.8893871+08:00;False|2025-02-17T16:56:34.0012780+08:00;True|2025-02-17T15:56:45.9560949+08:00;False|2025-02-17T15:29:32.9323141+08:00;False|2025-02-17T15:27:54.6615301+08:00;False|2025-02-17T15:25:42.7179137+08:00;True|2025-02-12T10:48:39.4029671+08:00;True|2025-02-12T10:45:09.8138793+08:00;False|2025-02-12T10:43:37.5751112+08:00;False|2025-02-12T10:43:24.8201898+08:00;False|2025-02-12T10:42:58.2736984+08:00;False|2025-02-12T10:42:46.1482594+08:00;False|2025-02-12T10:42:01.5427330+08:00;False|2025-02-12T10:41:48.3761346+08:00;False|2025-02-12T10:41:29.3367142+08:00;True|2025-02-11T15:41:34.0746843+08:00;True|2025-02-11T15:39:37.3374891+08:00;False|2025-02-11T15:39:27.0449176+08:00;False|2025-02-11T15:08:35.2970100+08:00;True|2025-02-11T14:59:59.6539416+08:00;True|2025-02-11T14:56:20.5954601+08:00;False|2025-02-11T14:55:35.6700921+08:00;True|2025-02-10T09:39:38.7399451+08:00;False|2025-02-10T09:39:10.1358642+08:00;True|2025-02-08T16:00:23.1136903+08:00;False|2025-02-08T15:59:50.0414065+08:00;True|2025-01-17T10:17:41.6850215+08:00;False|2025-01-17T10:16:20.3202054+08:00;True|2025-01-17T09:00:26.6966310+08:00;False|2025-01-17T08:59:59.9527727+08:00;True|2025-01-16T11:06:57.1014257+08:00;True|2025-01-16T10:27:57.2742426+08:00;False|2025-01-16T10:27:27.5197746+08:00;True|2025-01-15T11:05:17.5523582+08:00;True|2025-01-15T09:37:34.6118980+08:00;False|2025-01-15T09:36:27.7987949+08:00;True|2025-01-14T12:52:06.2234405+08:00;True|2025-01-14T12:50:08.8487446+08:00;False|2025-01-14T12:49:45.2743330+08:00;True|2025-01-14T10:31:18.6477403+08:00;False|2025-01-14T10:29:30.1534049+08:00;True|2025-01-13T15:27:00.4497527+08:00;True|2025-01-13T15:01:33.6142160+08:00;True|2025-01-13T10:29:49.4772980+08:00;True|2025-01-13T10:11:15.7993265+08:00;True|2025-01-13T10:08:58.9378828+08:00;False|2025-01-13T10:08:44.9869073+08:00;True|2025-01-13T10:02:17.5175561+08:00;False|2025-01-13T10:02:00.9991870+08:00;True|2025-01-08T17:50:21.7468469+08:00;True|2025-01-08T16:38:48.8592252+08:00;True|2025-01-08T10:44:42.9161086+08:00;False|2025-01-08T10:44:09.4840640+08:00;True|2025-01-08T10:34:31.5982265+08:00;False|2025-01-08T10:33:57.3576390+08:00;True|2025-01-03T17:19:09.1765100+08:00;True|2025-01-03T17:10:41.8794009+08:00;True|2025-01-03T17:10:11.4245485+08:00;True|2025-01-03T15:54:22.3387906+08:00;True|2025-01-03T15:41:44.9897120+08:00;False|2025-01-03T15:40:42.1357112+08:00;False|2025-01-03T15:39:09.0564197+08:00;True|2025-01-03T14:58:31.5701467+08:00;True|2025-01-03T14:29:13.4456304+08:00;False|2025-01-03T14:27:18.9925263+08:00;True|2025-01-02T16:08:24.1819376+08:00;True|2025-01-02T16:07:01.1636705+08:00;True|2025-01-02T16:03:02.6520904+08:00;True|2025-01-02T10:03:56.0551738+08:00;False|2025-01-02T10:03:34.8632732+08:00;True|2024-12-31T15:27:01.3180960+08:00;True|2024-12-31T11:17:12.2977529+08:00;True|2024-12-31T10:48:14.7205535+08:00;True|2024-12-31T10:18:45.6669875+08:00;False|2024-12-31T10:18:21.6706557+08:00;True|2024-12-30T09:32:44.3898729+08:00;True|2024-12-30T09:31:24.5771941+08:00;False|2024-12-30T09:30:52.4031391+08:00;True|2024-12-27T16:12:20.2836752+08:00;False|2024-12-27T16:11:04.6614343+08:00;True|2024-12-27T15:07:23.0750147+08:00;True|2024-12-27T15:04:52.7876532+08:00;True|2024-12-27T14:37:54.3154829+08:00;False|2024-12-27T14:37:26.9546174+08:00;True|2024-12-26T16:33:56.0452167+08:00;True|2024-12-26T16:29:21.4115458+08:00;True|2024-12-26T16:29:02.0242815+08:00;True|2024-12-26T15:17:24.7390981+08:00;False|2024-12-26T15:13:26.8863189+08:00;True|2024-12-26T15:06:35.4541902+08:00;True|2024-12-26T11:35:42.2760106+08:00;False|2024-12-26T11:35:08.9255789+08:00;True|2024-12-26T10:10:29.7487991+08:00;True|2024-12-26T09:27:40.2637311+08:00;False|2024-12-26T09:25:52.1339136+08:00;True|2024-12-24T15:11:48.9968778+08:00;True|2024-12-24T15:06:55.0283993+08:00;True|2024-12-24T14:36:29.6466740+08:00;True|2024-12-24T10:28:42.7489880+08:00;False|2024-12-24T10:28:08.6809715+08:00;True|2024-12-24T10:06:05.9449103+08:00;False|2024-12-24T10:05:32.8409161+08:00;True|2024-12-23T14:56:40.3416256+08:00;True|2024-12-23T14:50:50.2677378+08:00;True|2024-12-23T14:48:27.8169391+08:00;True|2024-12-23T14:45:25.5341474+08:00;True|2024-12-23T14:42:23.7825087+08:00;True|2024-12-23T14:35:53.8876449+08:00;True|2024-12-23T14:14:00.4257926+08:00;True|2024-12-23T11:10:54.5874876+08:00;True|2024-12-23T11:08:44.0250304+08:00;False|2024-12-23T11:08:18.5757850+08:00;True|2024-12-20T12:51:29.2354841+08:00;True|2024-12-20T12:46:13.7636932+08:00;False|2024-12-20T12:44:21.1473486+08:00;False|2024-12-20T12:44:06.5427106+08:00;True|2024-12-20T12:29:33.9971940+08:00;False|2024-12-20T12:29:01.0285205+08:00;True|2024-12-19T15:49:19.9906264+08:00;True|2024-12-19T14:55:54.3323405+08:00;True|2024-12-19T14:17:50.5086161+08:00;True|2024-12-19T14:08:16.0919011+08:00;True|2024-12-19T14:02:50.3092759+08:00;True|2024-12-19T13:54:41.2332165+08:00;False|2024-12-19T13:54:07.6973483+08:00;True|2024-12-19T09:34:54.5332110+08:00;True|2024-12-19T08:49:05.5690428+08:00;False|2024-12-19T08:48:51.0618113+08:00;True|2024-12-18T15:45:34.7174246+08:00;False|2024-12-18T15:45:10.3226822+08:00;True|2024-12-18T15:32:03.5983267+08:00;True|2024-12-18T15:31:20.1219502+08:00;True|2024-12-18T11:57:09.1595607+08:00;True|2024-12-18T11:13:37.4765697+08:00;True|2024-12-18T10:07:54.1294714+08:00;True|2024-12-18T10:04:16.0967342+08:00;False|2024-12-18T10:04:04.1561560+08:00;True|2024-12-16T17:07:07.3386872+08:00;True|2024-12-16T16:34:59.1101964+08:00;True|2024-12-16T16:19:07.9287470+08:00;False|2024-12-16T16:18:46.4617432+08:00;True|2024-12-13T18:06:11.0778539+08:00;True|2024-12-13T16:53:52.2283177+08:00;True|2024-12-13T16:23:15.9531944+08:00;True|2024-12-13T13:58:03.7464045+08:00;True|2024-12-13T10:40:33.9285602+08:00;True|2024-12-13T10:38:03.8494063+08:00;False|2024-12-13T10:37:52.4251132+08:00;True|2024-12-13T10:31:07.4994631+08:00;False|2024-12-13T10:30:40.8021885+08:00;True|2024-12-12T10:01:42.4944750+08:00;False|2024-12-12T10:01:15.7147977+08:00;True|2024-12-11T17:21:58.0453583+08:00;True|2024-12-11T10:59:15.3836831+08:00;True|2024-12-11T09:49:19.4060272+08:00;False|2024-12-11T09:48:51.7603525+08:00;True|2024-12-11T08:58:41.4567855+08:00;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>03/12/2025 14:08:58</publishTime>
      <publishTime>03/17/2025 11:10:11</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>03/12/2025 14:08:58</publishTime>
      <publishTime>03/17/2025 11:10:11</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>03/12/2025 14:08:47</publishTime>
      <publishTime>03/17/2025 11:10:01</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>03/12/2025 14:08:47</publishTime>
      <publishTime>03/17/2025 11:10:01</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>03/12/2025 14:08:30</publishTime>
      <publishTime>03/17/2025 11:09:55</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>03/12/2025 14:08:30</publishTime>
      <publishTime>03/17/2025 11:09:55</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>03/12/2025 14:08:42</publishTime>
      <publishTime>03/17/2025 11:09:58</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>03/12/2025 14:08:42</publishTime>
      <publishTime>03/17/2025 11:09:58</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>02/12/2025 09:59:05</publishTime>
@@ -147,34 +147,34 @@
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>03/12/2025 14:08:14</publishTime>
      <publishTime>03/17/2025 11:09:47</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>03/12/2025 14:08:14</publishTime>
      <publishTime>03/17/2025 11:09:47</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>03/12/2025 14:08:21</publishTime>
      <publishTime>03/17/2025 11:09:51</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>03/12/2025 14:08:21</publishTime>
      <publishTime>03/17/2025 11:09:51</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>03/12/2025 14:08:21</publishTime>
      <publishTime>03/17/2025 11:09:51</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>03/12/2025 14:08:21</publishTime>
      <publishTime>03/17/2025 11:09:51</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>03/12/2025 14:05:19</publishTime>
      <publishTime>03/17/2025 11:08:22</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>03/12/2025 14:05:19</publishTime>
      <publishTime>03/17/2025 11:08:22</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,19 +285,19 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>03/12/2025 14:05:21</publishTime>
      <publishTime>03/17/2025 11:08:24</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>03/12/2025 14:05:21</publishTime>
      <publishTime>03/17/2025 11:08:24</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>03/12/2025 14:09:08</publishTime>
      <publishTime>03/17/2025 11:16:16</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>03/12/2025 14:09:08</publishTime>
      <publishTime>03/17/2025 11:16:16</publishTime>
    </File>
    <File Include="bin/WebGrease.dll">
      <publishTime>07/18/2013 01:03:52</publishTime>
WebAPI/WebAPI.csproj
@@ -442,6 +442,8 @@
    <Compile Include="Controllers\CJGL\Sc_OEEReportController.cs" />
    <Compile Include="Controllers\CKGL\TMZD\Gy_BarCodeBillListController.cs" />
    <Compile Include="Controllers\JHGL\Gy_SourceMouldBillController.cs" />
    <Compile Include="Controllers\XSGL\Crm_ComplainVisitBillController.cs" />
    <Compile Include="Controllers\XSGL\Xs_SeQuotationBillController.cs" />
    <Compile Include="Controllers\Xt_DefineBillMainSetController.cs" />
    <Compile Include="Controllers\MJGL\Sc_MouldBatchWorkCheckBillController.cs" />
    <Compile Include="Controllers\SBGL\SBBB\Sb_EquipMentCollectionTechParamController.cs" />
sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
@@ -6,7 +6,7 @@
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.dll
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.pdb
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.CoreCompileInputs.cache
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
D:\工作代码\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
Binary files differ