yusijie
2023-03-09 0ee98ee44a38178214d7bf14b93cec104d2b92c5
工序进出站,工序派工,发货通知单审核插件
12个文件已修改
1个文件已添加
586 ■■■■■ 已修改文件
DAL/基础资料/公用基础资料/ClsGy_TaxMIX_Ctl.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsXs_SeOutStockBillMain.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsXs_SeOutStockBillSub.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcessSendWorkController.cs 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_ProcessMangementController.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_TaxMIXController.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsGy_TaxMIX_Ctl.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text;
using System.Data;
using DBUtility;
namespace DAL
{
@@ -27,13 +28,31 @@
                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark +
                    "','" + oModel.HUseFlag + "'," + oModel.HUSEORGID + "," + oModel.HCREATEORGID + ",'" + oModel.HMakeEmp + "','" + System.DateTime.Now + "','" + oModel.HCheckEmp + "','" + oModel.HModifyEmp + "','" + oModel.HStopEmp +  "'" + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                //获取数据
                DataSet Ds;
                Int64 ItemID = 0;
                Ds = oCn.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxMIXMain" , "Gy_TaxMIXMain");
                if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
                {
                    ItemID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString());
                }
                //插入子表
                foreach (Model.ClsGy_TaxMIXSub_Model oSub in DetailColl)
                {
                     DataSet Cs;
                    Int64 EntryID = 0;
                    Cs = oCn.RunProcReturn("select MAX(HEntryID) HEntryID from Gy_TaxMIXSub", "Gy_TaxMIXSub");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        EntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                    }
                    oCn.RunProc("Insert into Gy_TaxMIXSub " +
                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID" +
                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID,HEntryID" +
                      ") values("
                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + oModel.HItemID +
                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + ItemID + "," + EntryID +
                      ") ");
                }
Model/ÏúÊÛ¹ÜÀí/ClsXs_SeOutStockBillMain.cs
@@ -32,5 +32,18 @@
        public Int64 HERPInterID;
        public string HERPBillType;
        public Int64 HSTOCKERGROUPID;
        public Int64 HSALEGROUPID;
        public Int64 HSALEDEPTID;
        public string HBUSINESSTYPE;
        public Int64 HCARRIERID;
        public Int64 HRECEIVERID;
        public Int64 HSETTLEID;
        public Int64 HPAYERID;
        public Int64 HHEADLOCID;
        public Int64 HRECCONTACTID;
        public Int64 HRECEIPTCONDITIONID;
        public Int64 HCORRESPONDORGID;
        public string HCARRIAGENO;
    }
}
Model/ÏúÊÛ¹ÜÀí/ClsXs_SeOutStockBillSub.cs
@@ -21,7 +21,7 @@
        public Int64 HSPID;
        public Int64 HOWNERID;
        public string HOWNERTYPEID;
        public Int64 HSETTLEORGID;
        public string HSETTLEORGID;
        public double HMoveStockQty;
        public Int64 HAuxPropID;
        public string HBatchNO;
@@ -29,5 +29,39 @@
        public Int64 HERPInterID;
        public Int64 HERPEntryID;
        public string HSeORderBillNo;
        public string HCUSTMATID;
        public Int64 HBASEUNITID;
        public string HBFLOWID;
        public Int64 HOUTCONTROL;
        public Int64 HSTOCKUNITID;
        public string HROWTYPE;
        public string HROWID;
        public string HPARENTROWID;
        public Int64 HPARENTMATID;
        public Int64 HTAXCOMBINATION;
        public double HPRICECOEFFICIENT;
        public double HSYSPRICE;
        public double HLIMITDOWNPRICE;
        public Int64 HPRICEUNITID;
        public double HTAXPRICE;
        public double HTAXRATE;
        public double HTAXNETPRICE;
        public double HDISCOUNTRATE;
        public Int64 HISFREE;
        public Int64 HLOCALCURRID;
        public Int64 HSETTLECURRID;
        public Int64 HEXCHANGETYPEID;
        public Int64 HSETTLETYPEID;
        public Int64 HRECEIPTCONDITIONID;
        public double HEXCHANGERATE;
        public Int64 HISINCLUDEDTAX;
        public Int64 HISPRICEEXCLUDETAX;
        public Int64 HTAXRATEID;
        public double HTaxRate_TAX;
        public double HCOSTPERCENT;
        public Int64 HVAT;
        public Int64 HSELLERWITHHOLDING;
        public Int64 HBUYERWITHHOLDING;
    }
}
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1500,6 +1500,13 @@
                    {
                        omodel.MES_StationBill_ProcNo = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========工序进出站
                    //只显示用户对应工序
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationBill_ProcNoByUser")
                    {
                        omodel.MES_StationBill_ProcNoByUser = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                }
                sReturn = "显示单据成功!";
                return true;
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -430,6 +430,7 @@
        //工序进站单
        public string MES_StationBill_ProcNo; //自动匹配流水号
        public string MES_StationBill_ProcNoByUser; //只显示用户对应工序
    }
         
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -141,10 +141,131 @@
        }
        #endregion
        #region å§”外工序发出单流水号回车获取条码信息2(委外工序接收、工序进站接收通用)
        [Route("Cj_StationBill/txtHBarCode_KeyDown2")]
        [HttpGet]
        public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID)
        {
            try
            {
                if (HBarCode == null || HBarCode.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "空白码,条形码不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //拆分条形码
                string sBillBarCode = HBarCode.Trim();
                string[] NewBarCode;
                if (sBillBarCode.CompareTo("#") > 0)
                {
                    NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
                    sBillBarCode = NewBarCode[0];
                }
                string sBillNo = sBillBarCode;
                //截取条码类型
                string BillNoType = sBillNo.Substring(0, Math.Min(3, sBillNo.Length));
                //截取内码
                string BillNo = sBillNo.Substring(3, Math.Min(sBillNo.Length - 3,sBillNo.Length));
                switch (BillNoType)
                //得到信息
                {
                    case "HCX"://生产资源码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where æ¡ç ç¼–号 = '" + BillNo + "'", "h_v_Gy_SourceList");
                        break;
                    case "SBM"://设备码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList  where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList");
                        break;
                    case "JYM"://员工码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList");
                        break;
                    case "GRM"://员工码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList");
                        break;
                    case "CGM"://员工码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_StaffList  where HItemID = '" + BillNo + "'", "h_v_Gy_StaffList");
                        break;
                    case "HWH"://仓库码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_WareHouseList  where æ¡ç ç¼–号 = '" + HBarCode + "'", "h_v_Gy_WareHouseList");
                        break;
                    case "HSP"://仓位码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_StockPlaceList  where æ¡ç ç¼–号 = '" + HBarCode + "'", "h_v_Gy_StockPlaceList");
                        break;
                    case "WKM"://工作中心码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_WorkCenterList  where HItemID = '" + BillNo + "'", "h_v_Gy_WorkCenterList");
                        break;
                    case "BZM"://班组码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_GroupList  where æ¡ç ç¼–号 = '" + BillNo + "'", "h_v_Gy_GroupList");
                        break;
                    case "PRO"://工序码
                        string sReturn = "";
                        if (oSystemParameter.ShowBill(ref sReturn) == true)
                        {
                            //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
                            if (oSystemParameter.omodel.MES_StationBill_ProcNoByUser == "Y")
                            {
                                ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNoByUser  where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and ç”¨æˆ·ç¼–码 = '" + UserID + "'", "h_v_Gy_ProcessList_GetProcNoByUser");
                            }
                            else
                            {
                                ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo  where HItemID = '" + BillNo + "' and HInterID = '" +
                                  HInterID + "'", "h_v_Gy_ProcessList_GetProcNo");
                            }
                        }
                        break;
                    case "WLM"://物料码
                        ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialList  where HItemID = '" + BillNo + "'", "h_v_Gy_MaterialList");
                        break;
                    case "GXL"://流转卡
                        ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where å•据号= '" + sBillNo + "'", "h_v_Sc_ProcessExchangeBillList");
                        break;
                }
                //写入信息
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到条码信息!";
                    objJsonResult.data = null;
                    if(BillNoType == "PRO")
                    {
                        ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList where HItemID = '" + BillNo + "'", "h_v_Gy_ProcessList");
                        if (ds == null || ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.Message = "未查询到条码信息!";
                        }
                        else
                        {
                            objJsonResult.Message = "用户未关联相关工序或流转卡无此工序,如有需要请维护";
                        }
                    }
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¹æ®ç™»å½•用户获取工序
        [Route("Sc_StationInBill/autoGetProcNo")]
        [HttpGet]
        public object autoGetProcNo(string HUserName,string HInterID)
        public object autoGetProcNo(string HUserID, string HInterID)
        {
            string sReturn = "";
            if (oSystemParameter.ShowBill(ref sReturn) == true)
@@ -154,16 +275,16 @@
                {
                    try
                    {
                        if (HUserName == null || HUserName.Equals(""))
                        if (HUserID == null || HUserID.Equals(""))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "用户名不能为空!";
                            objJsonResult.Message = "用户编码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //得到信息
                        ds = oCN.RunProcReturn("select  * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and ç”¨æˆ·åç§° ='" + HUserName + "'", "h_v_Sc_StationBill_autoGetProcNo");
                        ds = oCN.RunProcReturn("select  * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and ç”¨æˆ·ç¼–码 ='" + HUserID + "'", "h_v_Sc_StationBill_autoGetProcNo");
                        //写入信息
                        if (ds == null || ds.Tables[0].Rows.Count == 0)
                        {
WebAPI/Controllers/CJGL/Sc_ProcessSendWorkController.cs
New file
@@ -0,0 +1,253 @@
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
{
    public class Sc_ProcessSendWorkController : ApiController
    {
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region å·¥åºæ´¾å·¥å• åˆ—表
        /// <summary>
        /// å·¥åºæ´¾å·¥å•列表
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/Sc_ProcessSendWorkList")]
        [HttpGet]
        public object Sc_ProcessSendWorkList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessSendWorkList where 1=1 " + sWhere, "h_v_Sc_ProcessSendWorkList");
                //添加列名
                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 = "返回记录成功!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥åºæ´¾å·¥å• ä¿å­˜/编辑
        /// <summary>
        /// å·¥åºæ´¾å·¥å• ä¿å­˜
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/SaveProcessSendWork")]
        [HttpPost]
        public object SaveProcessSendWork([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 msg4 = sArray[2].ToString();
            string UserName = "";
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
                List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_ClsSc_ProcessSendWorkMain(msg2);
                foreach (Model.ClsSc_ProcessSendWorkMain oItem in lsmain)
                {
                    //oItem.HMaker = "";
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3712";
                    oItem.HBillSubType = "3712";
                    oItem.HBillStatus = 1;
                    DBUtility.ClsPub.CurUserName = UserName;
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    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
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSc_ProcessSendWorkSub> ls = new List<Model.ClsSc_ProcessSendWorkSub>();
                ls = oListModels.getObjectByJson_ClsSc_ProcessSendWorkSub(msg3);
                int i = 0;
                foreach (Model.ClsSc_ProcessSendWorkSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    //oItemSub.HCloseMan = "";       //行关闭
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    //oItemSub.HRemark = "";         //备注
                    oItemSub.HSourceInterID = 0;     // æºå•主内码
                    oItemSub.HSourceEntryID = 0;   //源单子内码
                    //oItemSub.HSourceBillNo = "";  //源单单号
                    //oItemSub.HSourceBillType = ""; //源单类型
                    oItemSub.HRelationQty = 0;     //关联数量
                                                   //oItemSub.HRelationMoney = 0;   //关联金额
                                                   //HMaterID = "";//配件代码
                                                   //HUnitID = "";//单位代码
                                                   //HQty = "";//实际用量
                                                   //HQtyMust = "";//单位用量
                                                   //HRemark = "";//备注
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥åºæ´¾å·¥å• åˆ é™¤
        /// <summary>
        /// å·¥åºæ´¾å·¥å•删除
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/DelProcessSendWork")]
        [HttpGet]
        public object DelProcessSendWork(string HInterID, string user)
        {
            Int64 lngBillKey = 0;
            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
            if (lngBillKey == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据ID为空!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            {
                ds = oCN.RunProcReturn("select * from Sc_ProcessSendWorkMain where HInterID=" + lngBillKey, "Sc_ProcessSendWorkMain");
                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据已经审核,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (IsDete)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据未找到";
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -418,6 +418,14 @@
                string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString();
                //根据工序汇报单主ID获取工序汇报入库单的数据
                DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                if(ds.Tables[0].Rows.Count <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "生成生产汇报单过程中没有查询到出站单";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DataRow dr = ds.Tables[0].Rows[0];
                
                //保存
WebAPI/Controllers/WebAPIController.cs
@@ -4049,12 +4049,12 @@
        /// <returns></returns>
        [Route("Web/GetProcNoList")]
        [HttpGet]
        public object GetProcNoList(int HInterID,string sWhere)
        public object GetProcNoList(int HInterID,string sWhere,string UserID)
        {
            List<object> columnNameList = new List<object>();
            try
            {
                ds = oCN.RunProcReturn("exec h_p_Sc_ProcNoList '" + HInterID + "','" + sWhere + "'", "h_p_Sc_ProcNoList");
                ds = oCN.RunProcReturn("exec h_p_Sc_ProcNoList '" + HInterID + "','" + sWhere + "','" + UserID + "'" , "h_p_Sc_ProcNoList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
@@ -383,6 +383,89 @@
        #endregion
        #region [同步插件]
        [Route("Xs_SeOutStockBill/Xs_SeOutStockBillSaveApi")]
        [HttpPost]
        public object Xs_SeOutStockBillSaveApi([FromBody] JObject sMainSub)
        {
            try
            {
                //LogService.Write("发货通知单同步,保存方法执行完成异常:" + sMainSub.ToString());
                var model = sMainSub["model"].ToString();
                var entry = sMainSub["model"]["HENTRY"].ToString();
                model = "[" + model.ToString() + "]";
                List<ClsXs_SeOutStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOutStockBillMain>>(model);
                List<ClsXs_SeOutStockBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOutStockBillSub>>(entry);
                string sql = string.Empty;
                oCN.BeginTran();
                sql = $"delete Xs_SeOutStockBillMain where HinterID = {mainList[0].HInterID}";
                oCN.RunProc(sql);
                sql = $"delete Xs_SeOutStockBillSub where HinterID = {mainList[0].HInterID}";
                oCN.RunProc(sql);
                //主表
                oCN.RunProc(@"Insert Into Xs_SeOutStockBillMain
                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
                        ,HCusID,HManagerID,HDeptID,HRemark,HAddress,HSSID,HCurID,HWHID,HExRate
                        ,HEmpID,HExplanation,HInnerBillNo,HSALEORGID,HDELIVERYORGID,HOWNERID
                        ,HOWNERTYPEID,HERPInterID,HERPBillType,HMaker,HMakeDate,HChecker,HCheckDate
                        ,HCloseMan,HCloseDate,HSTOCKERGROUPID,HSALEGROUPID,HSALEDEPTID,HBUSINESSTYPE
                        ,HCARRIERID,HRECEIVERID,HSETTLEID,HPAYERID,HHEADLOCID,HRECCONTACTID
                        ,HRECEIPTCONDITIONID,HCORRESPONDORGID,HCARRIAGENO)
                        values(" + mainList[0].HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1402 + "','" +
                    mainList[0].HBillSubType + "','" + mainList[0].HDate + "','" + mainList[0].HBillNo + "','" + mainList[0].HBillStatus + "'," + mainList[0].HCusID +
                    "," + mainList[0].HManagerID + "," + mainList[0].HDeptID + ",'" + mainList[0].HRemark + "','" + mainList[0].HAddress + "'," + mainList[0].HSSID +
                    "," + mainList[0].HCurID + "," + mainList[0].HWHID + "," + mainList[0].HExRate + "," + mainList[0].HEmpID + ",'" + mainList[0].HExplanation + "','"  + mainList[0].HInnerBillNo + "'," + mainList[0].HSALEORGID + "," + mainList[0].HDELIVERYORGID + "," + mainList[0].HOWNERID + ",'" +
                    mainList[0].HOWNERTYPEID + "'," + mainList[0].HERPInterID + ",'" + mainList[0].HERPBillType + "','" + mainList[0].HMaker + "','" + mainList[0].HMakeDate + "','"
                    + mainList[0].HChecker + "','" + mainList[0].HCheckDate + "','" + mainList[0].HCloseMan + "','" + mainList[0].HCloseDate + "'," + mainList[0].HSTOCKERGROUPID + ","
                    + mainList[0].HSALEGROUPID + "," + mainList[0].HSALEDEPTID + ",'" + mainList[0].HBUSINESSTYPE + "'," + mainList[0].HCARRIERID + "," + mainList[0].HRECEIVERID + "," + mainList[0].HSETTLEID + "," + mainList[0].HPAYERID + "," + mainList[0].HHEADLOCID + "," + mainList[0].HRECCONTACTID + "," + mainList[0].HRECEIPTCONDITIONID + "," + mainList[0].HCORRESPONDORGID + ",'" + mainList[0].HCARRIAGENO + "'" + ")");
                //保存主表
                foreach (var oSub in subList)
                {
                    sql = $@"
Insert into Xs_SeOutStockBillSub
(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HMoney,HWHID,HSPID,HRemark,
HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HSeOrderInterID,
HSeOrderEntryID,HSeORderBillNo,HOWNERID,HOWNERTYPEID,HSETTLEORGID,HMoveStockQty,
HRelationQty,HAuxPropID,HBatchNO,HMTONo,HERPInterID,HERPEntryID,HCUSTMATID,
HBASEUNITID,HBFLOWID,HOUTCONTROL,HSTOCKUNITID,HROWTYPE,HROWID,HPARENTROWID,
HPARENTMATID,HTAXCOMBINATION,HPRICECOEFFICIENT,HSYSPRICE,HLIMITDOWNPRICE,
HPRICEUNITID,HTAXPRICE,HTAXRATE,HTAXNETPRICE,HDISCOUNTRATE,HISFREE,HLOCALCURRID,
HSETTLECURRID,HEXCHANGETYPEID,HSETTLETYPEID,HRECEIPTCONDITIONID,HEXCHANGERATE,
HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HTAXRATEID,HTaxRate_TAX,HCOSTPERCENT,HVAT,
HSELLERWITHHOLDING,HBUYERWITHHOLDING)
values('{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}','{oSub.HMoney}','{oSub.HWHID}','{oSub.HSPID}','{oSub.HRemark}','{oSub.HSourceInterID}',
'{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HSeOrderInterID}','{oSub.HSeOrderEntryID}','{oSub.HSeORderBillNo}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HSETTLEORGID}','{oSub.HMoveStockQty}',
'{oSub.HRelationQty}','{oSub.HAuxPropID}','{oSub.HBatchNO}','{oSub.HMTONo}','{oSub.HERPInterID}',
'{oSub.HERPEntryID}','{oSub.HCUSTMATID}','{oSub.HBASEUNITID}','{oSub.HBFLOWID}','{oSub.HOUTCONTROL}','{oSub.HSTOCKUNITID}','{oSub.HROWTYPE}',
'{oSub.HROWID}','{oSub.HPARENTROWID}',
'{oSub.HPARENTMATID}','{oSub.HTAXCOMBINATION}','{oSub.HPRICECOEFFICIENT}','{oSub.HSYSPRICE}','{oSub.HLIMITDOWNPRICE}','{oSub.HPRICEUNITID}','{oSub.HTAXPRICE}','{oSub.HTAXRATE}','{oSub.HTAXNETPRICE}','{oSub.HDISCOUNTRATE}','{oSub.HISFREE}',
'{oSub.HLOCALCURRID}','{oSub.HSETTLECURRID}','{oSub.HEXCHANGETYPEID}','{oSub.HSETTLETYPEID}','{oSub.HRECEIPTCONDITIONID}','{oSub.HEXCHANGERATE}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HTAXRATEID}',
'{oSub.HTaxRate_TAX}','{oSub.HCOSTPERCENT}','{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}')";
                    oCN.RunProc(sql);
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "单据保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write("发货通知单同步异常,保存方法执行完成异常:" + e.Message.ToString());
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region [同步单据]
        [Route("Xs_SeOutStockBill/Xs_SeOutStockBillViewApi")]
        [HttpGet]
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_TaxMIXController.cs
@@ -110,6 +110,9 @@
            {
                DAL.ClsGy_TaxMIX_Ctl oBill = new DAL.ClsGy_TaxMIX_Ctl();
                List<Model.ClsGy_TaxMIXMain_Model> lsmain = new List<Model.ClsGy_TaxMIXMain_Model>();
                //List<Model.ClsGy_TaxMIXSub_Model> lssub = new List<Model.ClsGy_TaxMIXSub_Model>();
                List<Model.ClsGy_TaxMIXSub_Model> lssub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_TaxMIXSub_Model>>(msg2);
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Gy_TaxMIXMain(msg1);
@@ -241,6 +244,10 @@
                    oItem.HLevel = 1; //等级 DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim())
                    oBill.oModel = oItem;
                }
                foreach (Model.ClsGy_TaxMIXSub_Model oItemSub in lssub)
                {
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
@@ -329,7 +336,7 @@
                }
                oCN.RunProc("delete from Gy_TaxMIXMain where HItemID=" + HItemID);
                oCN.RunProc("delete from Gy_TaxMIXSub where HTaxMixID=" + HItemID);
                oCN.RunProc("delete from Gy_TaxMIXSub where HItemID=" + HItemID);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
WebAPI/ListModels.cs
@@ -1520,6 +1520,24 @@
            return list;
        }
        ///工序派工单 ä¸»è¡¨
        ///ClsSc_ProcExchWorkBackBillMain
        public List<Model.ClsSc_ProcessSendWorkMain> getObjectByJson_ClsSc_ProcessSendWorkMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_ProcessSendWorkMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessSendWorkMain>>(jsonString);
            return list;
        }
        ///工序派工单 å­è¡¨
        ///ClsSc_ProcExchWorkBackBillMain
        public List<Model.ClsSc_ProcessSendWorkSub> getObjectByJson_ClsSc_ProcessSendWorkSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_ProcessSendWorkSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessSendWorkSub>>(jsonString);
            return list;
        }
        ///设备投产检验验收单 å­è¡¨
        ///ClsSb_EquipWorkBeforeCheckBillSub
        public List<Model.ClsSb_EquipWorkBeforeCheckBillSub> getObjectByJson_ClsSb_EquipWorkBeforeCheckBillSub(string jsonString)
WebAPI/WebAPI.csproj
@@ -395,6 +395,7 @@
    <Compile Include="Controllers\CJGL\Cj_StationOutBillController.cs" />
    <Compile Include="Controllers\CJGL\Cj_StationInBillController.cs" />
    <Compile Include="Controllers\CJGL\Cj_StationEntrustOutBillController.cs" />
    <Compile Include="Controllers\CJGL\Sc_ProcessSendWorkController.cs" />
    <Compile Include="Controllers\CJGL\Sc_ProcExchWorkBackBillController.cs" />
    <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
    <Compile Include="Controllers\Gy_MateMouldController.cs" />
@@ -982,6 +983,7 @@
    <Folder Include="Views\Sc_MouldScrapRequestBill\" />
    <Folder Include="Views\Sc_MouldStatusChangeBill\" />
    <Folder Include="Views\Sc_ProcessExchangeIssueBill\" />
    <Folder Include="Views\Sc_ProcessSendWork\" />
    <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
    <Folder Include="Views\Sc_WorkBillSortBill\" />
    <Folder Include="Views\Sc_WorkDemandPlanBill\" />