1
zrg
2025-12-10 291668738caa2b9faac57cf6d1da7762efefb95d
1
5个文件已修改
4个文件已添加
805 ■■■■■ 已修改文件
DAL/DAL.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/基础资料/公用基础资料/ClsCg_ContractTransportBillList.cs 332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/基础资料/基础资料/ClsCg_ContractTransportBillMain.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/基础资料/基础资料/ClsCg_ContractTransportBillSub.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Cg_ContractTransportBillListController.cs 386 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/DAL.csproj
@@ -85,6 +85,7 @@
    <Compile Include="仓库管理\小车锁定\ClsKf_TrolleyPositionBill.cs" />
    <Compile Include="基础资料\公用基础资料\ClsGy_Driver_Ctl.cs" />
    <Compile Include="基础资料\公用基础资料\ClsGy_Car_Ctl_2.cs" />
    <Compile Include="基础资料\公用基础资料\ClsCg_ContractTransportBillList.cs" />
    <Compile Include="基础资料\公用基础资料\ClsGy_PatrolCheckItemMethod_Ctl.cs" />
    <Compile Include="基础资料\公用基础资料\ClsGy_PatrolCheckItemClass_Ctl.cs" />
    <Compile Include="基础资料\公用基础资料\ClsGy_MaintainClass_Ctl.cs" />
@@ -113,7 +114,7 @@
    <Compile Include="生产管理\排产锁定申请单\ClsJIT_LockRequestBill.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldOutRequestBill.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldInRequestBill.cs" />
    <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMoveStockRequestBill.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipPatrolCheckPlanBill.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipPatrolCheckBill.cs" />
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsCg_ContractTransportBillList.cs
New file
@@ -0,0 +1,332 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
    public  class ClsCg_ContractTransportBillList : DBUtility.ClsXt_BaseBill
    {
        public Model.ClsCg_ContractTransportBillMain omodel = new Model.ClsCg_ContractTransportBillMain();
        public List<Model.ClsCg_ContractTransportBillSub> DetailColl = new List<Model.ClsCg_ContractTransportBillSub>();
        public ClsCg_ContractTransportBillList()
        {
            base.MvarItemKeySub = "Cg_ContractTransportBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey= "Cg_ContractTransportBillMain";
            base.MvarReportTitle="承运合同";
            base.BillType = "1117";
            base.HBillSubType = "1117";
        }
        #region å›ºå®šä»£ç 
        ~ClsCg_ContractTransportBillList()
        {
            DetailColl = null;
        }
        #endregion   è‡ªå®šä¹‰æ–¹æ³•
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Cg_ContractTransportBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',2 ", "h_p_Cg_ContractTransportBill_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 Cg_ContractTransportBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +
                ",HYear='" + omodel.HYear.ToString() + "'" +
                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                //",HRemark='" + omodel.HRemark + "'" +
                ",HUpDater='" + omodel.HMaker + "'" +
                ",HUpDateDate=getdate()" +
                //========================================
                ",HContractDate ='" + omodel.HContractDate.ToString() +"',"+ "HSupID = "+ omodel.HSupID.ToString()+","+ "HContractNumber='"+ omodel.HContractNumber.ToString()+"',"+ "HContractName='"+ omodel.HContractName.ToString() + "',"+
                "HAddress='"+ omodel.HAddress.ToString() + "',"+ "HSSID="+ omodel.HSSID.ToString() + "," + "HCurID=" + omodel.HCurID.ToString() + "," + "HEmpID=" + omodel.HEmpID.ToString() + "," + "HDeptID=" + omodel.HDeptID.ToString() + ""+
                 // ",HExplanation ='" + omodel.HExplanation.ToString() +"'"+ ",HInnerBillNo ='" + omodel.HInnerBillNo.ToString() + "'"+
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsCg_ContractTransportBillSub oSub in DetailColl)
                {
                    string subSql = "insert into Cg_ContractTransportBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                        ",HTransportLineName,HBeginAddr,HEndAddr,HTransportCar,HDistance,HTransportTimes ,HTransportTyep ,HMoney ,HMoney_His) " +
                        " values(" +
                        "" + omodel.HInterID.ToString() +
                        "," + oSub.HEntryID.ToString() +
                        "," + oSub.HSourceInterID +
                        "," + oSub.HSourceEntryID +
                        ",'" + (oSub.HSourceBillNo??"a") +
                        "','" + (oSub.HSourceBillType??"a") +
                        "','" + (oSub.HTransportLineName ?? "")  +
                        "','" + (oSub.HBeginAddr ) +
                        "','" + (oSub.HEndAddr ) +
                        "','" + (oSub.HTransportCar) +
                        "','" + (oSub.HDistance ?? "") +
                        "','" + (oSub.HTransportTimes ?? "") +
                        "','" + (oSub.HTransportTyep ?? "") +
                        "','" + (oSub.HMoney??"") +
                        "','" + (oSub.HMoney_His??"") +
                        "')";
                    oCn.RunProc(subSql);
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Cg_ContractTransportBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Cg_ContractTransportBill_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
            {
                DataSet ds;
                oCn.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                ds = oCn.RunProcReturn("Exec h_p_Cg_ContractTransportBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Cg_ContractTransportBill_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;
                }
                //=========================================================
                //检查主表内码是否重复,若重复则重新生成并继续检查,直到不再重复
                while (true)
                {
                    ds = oCn.RunProcReturn("select * from Cg_ContractTransportBillMain where HInterID = " + omodel.HInterID, "Cg_ContractTransportBillMain");
                    if (ds != null && ds.Tables[0].Rows.Count > 0)
                    {
                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                    }
                    else
                    {
                        break;
                    }
                }
                //主表
                string mainSql = "insert into Cg_ContractTransportBillMain" +
                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                    ",HContractDate,HSupID,HContractNumber,HContractName,HAddress,HSSID,HCurID,HEmpID,HDeptID,HExplanation,HInnerBillNo) " +
                    "values(" +
                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
                    "," + omodel.HPeriod.ToString() +
                    ",'" + this.BillType +
                    "','" + this.HBillSubType +
                    "'," + omodel.HInterID +
                    ",'" + omodel.HDate +
                    "','" + omodel.HBillNo +
                    "','" + omodel.HRemark +
                    "','" + omodel.HMaker +
                    "','" + omodel.HMakeDate +
                    "','" + omodel.HContractDate +
                     "','" + omodel.HSupID +
                    "','" + omodel.HContractNumber +
                    "','" + omodel.HContractName +
                    "','" + omodel.HAddress +
                    "','" + omodel.HSSID +
                    "','" + omodel.HCurID +
                    "','" + omodel.HEmpID +
                    "','" + omodel.HDeptID +
                    "','" + omodel.HExplanation +
                    "','" + omodel.HInnerBillNo +
                    "')";
                oCn.RunProc(mainSql);
                //插入子表
                foreach (Model.ClsCg_ContractTransportBillSub oSub in DetailColl)
                {
                    string subSql = "insert into Cg_ContractTransportBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
                        ",HTransportLineName,HBeginAddr,HEndAddr,HTransportCar,HDistance,HTransportTimes,HTransportTyep,HMoney,HMoney_His) " +
                        " values(" +
                        "" + omodel.HInterID.ToString() +
                        "," + oSub.HEntryID.ToString() +
                        "," + oSub.HSourceInterID +
                        "," + oSub.HSourceEntryID +
                        ",'" + oSub.HSourceBillNo +
                        "','" + oSub.HSourceBillType +
                        "','" + oSub.HRemark +
                        "','" + oSub.HTransportLineName +
                        "','" + oSub.HBeginAddr +
                        "','" + oSub.HEndAddr +
                        "','" + oSub.HTransportCar +
                        "','" + oSub.HDistance +
                        "','" + oSub.HTransportTimes +
                        "','" + oSub.HTransportTyep +
                        "','" + oSub.HMoney +
                        "','" + oSub.HMoney_His +
                        "')";
                    oCn.RunProc(subSql);
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Cg_ContractTransportBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Cg_ContractTransportBill_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 Gy_MaterPreventErrMouldBillMain Where HInterID=" + lngBillKey.ToString(), "Gy_MaterPreventErrMouldBillMain");
        //        if(Ds.Tables[0].Rows.Count==0)
        //        {
        //            sReturn = "单据未找到!";
        //            return false;
        //        }
        //        //固定赋值===========================================
        //        omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
        //        omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
        //        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.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
        //        omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
        //        omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
        //        omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
        //        omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
        //        omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
        //        omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
        //        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();
        //        //========================================================
        //        //
        //        //循环
        //        DataSet DsSub ;
        //        DsSub = oCn.RunProcReturn("Select * from Gy_MaterPreventErrMouldBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_WorkBeginDotCheckBillSub");
        //        DetailColl.Clear();//清空
        //        for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
        //        {
        //            Model.ClsGy_MaterPreventErrMouldBillSub oSub = new Model.ClsGy_MaterPreventErrMouldBillSub();
        //            // å›ºå®šèµ‹å€¼===============================================
        //            oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
        //            oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
        //            oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
        //            oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
        //            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"]);
        //            oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
        //            oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
        //            oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
        //            oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
        //            oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
        //            //===================================================
        //            DetailColl.Add(oSub);
        //        }
        //        sReturn = "显示单据成功!";
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        sReturn = e.Message;
        //        throw (e);
        //    }
        //}
    }
}
Model/Model.csproj
@@ -103,11 +103,13 @@
    <Compile Include="仓库管理\ClsKf_TrolleyPositionBillSub.cs" />
    <Compile Include="基础资料\其他基础资料\ClsGy_PurPrice_Model.cs" />
    <Compile Include="基础资料\其他基础资料\ClsGy_MatePrice_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsCg_ContractTransportBillSub.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_AssistantData.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_AssistantDataEntry.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_Car_Model_2.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_Driver_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_DiscountList.cs" />
    <Compile Include="基础资料\基础资料\ClsCg_ContractTransportBillMain.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_OperatorGroup.cs" />
    <Compile Include="基础资料\基础资料\ClsSc_PackUnionBillBarCode_temp_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_PatrolCheckItemClass_Model.cs" />
@@ -184,8 +186,8 @@
    <Compile Include="生产管理\模具管理\ClsSc_MouldOutRequestBillSub.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldOutRequestBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMaintainPlanBillSub_Plan.cs" />
      <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillMain.cs" />
      <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillSub.cs" />
    <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsGy_QCVerificationBillSub.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldInRequestBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMoveStockRequestBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldInRequestBillSub.cs" />
Model/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/ClsCg_ContractTransportBillMain.cs
New file
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsCg_ContractTransportBillMain : DBUtility.ClsXt_BaseBillMain
    {
        public string HContractDate;
        public int HSupID;
        public string HContractNumber;
        public string HContractName;
        public string HAddress;
        public int HSSID;
        public int HCurID;
        public int HEmpID;
        public int HDeptID;
        public string HExplanation;
        public string HInnerBillNo;
    }
}
Model/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/ClsCg_ContractTransportBillSub.cs
New file
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsCg_ContractTransportBillSub : DBUtility.ClsXt_BaseBillMain
    {
        public string HTransportLineName;
        public int HEntryID;
        public int HSourceInterID;
        public int HSourceEntryID;
        public string HSourceBillNo;
        public string HSourceBillType;
        public long HBeginAddr;
        public long HEndAddr;
        public long HTransportCar;
        public string HDistance;
        public string HTransportTimes;
        public string HTransportTyep;
        public string HMoney;
        public string HMoney_His;
    }
}
WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
@@ -14614,7 +14614,7 @@
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_ProjectMoney_Close", 1, false, CurUserName))
                if (!DBUtility.ClsPub.Security_Log_second("Gy_ItemMoney_Close", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
WebAPI/Controllers/Cg_ContractTransportBillListController.cs
New file
@@ -0,0 +1,386 @@
using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    public class Cg_ContractTransportBillListController : ApiController
    {
        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.ClsCg_ContractTransportBillList OBill = new DAL.ClsCg_ContractTransportBillList();
        public DAL.ClsCg_ContractTransportBillList BillOld = new DAL.ClsCg_ContractTransportBillList();
        #region åˆåŒåˆ—表
        [Route("Cg_ContractTransportBillListController/getList")]
        [HttpGet]
        public object getList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log_second("Cg_ContractTransportBill_Check", 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_Cg_ContractTransportBillList order by å•据号 desc", "h_v_Cg_ContractTransportBillList");
                }
                else
                {
                    string sql1 = "select * from  h_v_Cg_ContractTransportBillList  where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by å•据号 desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Cg_ContractTransportBillList");
                }
                //添加列名
                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("Cg_ContractTransportBillListController/DeleteBill")]
        [HttpGet]
        public object Delete(string HInterID, string user)
        {
            try
            {
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Cg_ContractTransportBill_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;
                }
                oCN.BeginTran();
                //判断存在性
                if (BillOld.ShowBill(Int64.Parse(HInterID), ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    //删除前控制=========================================
                    string sql1 = "exec h_p_Cg_ContractTransportBill_BeforeDelCtrl  " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Cg_ContractTransportBill_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;
                    }
                    //==================================================================================
                    //删除单据(包含删除后控制、写入日志)
                    if (!BillOld.DeleteBill(BillOld.omodel.HInterID, BillOld.omodel.HBillNo, "h_p_Cg_ContractTransportBill_AfterDelCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  èŽ·å–ç¼–è¾‘åˆ—è¡¨æ•°æ®
        [Route("Cg_ContractTransportBillListController/EditList")]
        [HttpGet]
        public object EditList(string HInterID, string User)
        {
            try
            {
                List<DataTable> tableList = new List<DataTable>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Cg_ContractTransportBill_Edit", 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;
                }
                ds = oCN.RunProcReturn("select * from h_v_Cg_ContractTransportBillList where HInterID = " + HInterID, " h_v_Cg_ContractTransportBillList");
                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  ä¿å­˜/编辑
        [Route("Cg_ContractTransportBillListController/SaveCg_ContractTransportBillList")]
        [HttpPost]
        public object SaveCg_ContractTransportBillList([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            string refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 å¤åˆ¶
            string user = sArray[3].ToString();//用户名
            string UserName = "";
            string s = "";
            ListModels oListModels = new ListModels();
            try
            {
                //保存权限
                if (!DBUtility.ClsPub.Security_Log_second("Cg_ContractTransportBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsCg_ContractTransportBillList oBill = new DAL.ClsCg_ContractTransportBillList();
                List<Model.ClsCg_ContractTransportBillMain> lsmain = new List<Model.ClsCg_ContractTransportBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_ContractTransportBillMain(msg2);
                foreach (Model.ClsCg_ContractTransportBillMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        //单据号是否重复
                        if (OBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, OBill.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (OBill.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //判断是否可编辑
                        if (OBill.omodel.HChecker != "" && OBill.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (OBill.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "1117";
                    oItem.HBillSubType = "1117";
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                // è¡¨ä½“数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                List<Model.ClsCg_ContractTransportBillSub> ls = new List<Model.ClsCg_ContractTransportBillSub>();
                ls = oListModels.getObjectByJson_Cg_ContractTransportBillSub(msg3);
                int i = 0;
                foreach (Model.ClsCg_ContractTransportBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    //oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                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
    }
}
WebAPI/ListModels.cs
@@ -3432,9 +3432,30 @@
            List<Model.ClsGy_MaterPreventErrMouldBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterPreventErrMouldBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理承运合同清单主表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsCg_ContractTransportBillMain> getObjectByJson_ContractTransportBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsCg_ContractTransportBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsCg_ContractTransportBillMain>>(jsonString);
            return list;
        }
        /// <summary>ClsCg_ContractTransportBillSub
        /// å¤„理新增承运合同子表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsCg_ContractTransportBillSub> getObjectByJson_Cg_ContractTransportBillSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsCg_ContractTransportBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsCg_ContractTransportBillSub>>(jsonString);
            return list;
        }
        /// <summary>ClsCg_ContractTransportBillSub
        /// å¤„理新增产品犯错验证清单子表的json
        /// </summary>
        /// <param name="jsonString"></param>
WebAPI/WebAPI.csproj
@@ -438,6 +438,7 @@
    <Compile Include="Controllers\CGGL\Cg_POStockInChangeBillController.cs" />
    <Compile Include="Controllers\CGGL\Cg_POOrderChangeBillController.cs" />
    <Compile Include="Controllers\CGGL\Cg_POStockInBillList_SecController.cs" />
    <Compile Include="Controllers\Cg_ContractTransportBillListController.cs" />
    <Compile Include="Controllers\CJGL\Cj_CallGoodsBillBackController.cs" />
    <Compile Include="Controllers\CJGL\Cj_CallGoodsBillMainController.cs" />
    <Compile Include="Controllers\CJGL\Cj_CenterCheckBillController.cs" />
@@ -1235,6 +1236,7 @@
    <Folder Include="bin\" />
    <Folder Include="Controllers\项目管理\基础建模\" />
    <Folder Include="obj\x86\Debug\" />
    <Folder Include="Views\Cg_ContractTransportBillList\" />
    <Folder Include="Views\Cg_PODemandPlanBill\" />
    <Folder Include="Views\Cg_PurchaseReturn\" />
    <Folder Include="Views\Cj_CallGoodsBillBack\" />