yusijie
2024-09-18 581e0f8eda86f5ad19a5ce03253faf14928c90fa
关键件绑定
3个文件已修改
1个文件已添加
380 ■■■■■ 已修改文件
DAL/车间管理/ClsSc_AssemblyBill.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_KeyElementBindingController.cs 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/³µ¼ä¹ÜÀí/ClsSc_AssemblyBill.cs
@@ -86,7 +86,11 @@
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                if (omodel.HInterID == 0 || omodel.HInterID.ToString() == null || omodel.HInterID.ToString() == "undefined")
                {
                    omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
@@ -94,12 +98,12 @@
                "(HYear,HPeriod,HBillType,HInterID" +
                ",HDate,HBillNo,HBillStatus,HRemark,HICMOInterID" +
                ",HICMOBillNo,HBarCode_P,HMaterID,HUnitID" +
                ",HMaker,HMakeDate" +
                ",HMaker,HMakeDate,HBillSubType" +
                ") " +
                " values(" + omodel.HYear + "," + omodel.HPeriod + ",'" + this.BillType + "'," + omodel.HInterID + "" +
                ",'" + omodel.HDate + "','" + omodel.HBillNo.ToString() + "'," + omodel.HBillStatus + ",'" + omodel.HRemark + "'," + omodel.HICMOInterID + "" +
                ",'" + omodel.HICMOBillNo.ToString() + "','" + omodel.HBarCode_P.ToString() + "'," + omodel.HMaterID + "," + omodel.HUnitID + "" +
                ",'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.GetServerDate(-1) + "'" +
                ",'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.GetServerDate(-1) + "','" + this.BillType + "'" +
                ") ");
                ////插入子表
                foreach (Model.ClsSc_AssemblyBillSub oSub in DetailColl)
@@ -108,12 +112,12 @@
                      " (HInterID,HEntryID,HMaterID,HUnitID,HQty,HSourceID" +
                      ",HEquipID,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P" +
                      ",HCloseMan,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HBillNo_bak)" +
                      " values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HSourceID.ToString() + "" +
                      "," + oSub.HEquipID.ToString() + "," + oSub.HGroupID.ToString() + "," + oSub.HWorkerID.ToString() + ",'" + oSub.HScanDate.ToShortDateString() + "','" + oSub.HBarCode + "','" + oSub.HBarCode_P + "'" +
                      ",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + ",'" + omodel.HBillNo + "'" +
                      ") ");
                }
                sReturn = "新增单据成功!";
WebAPI/Controllers/CJGL/Sc_KeyElementBindingController.cs
New file
@@ -0,0 +1,341 @@
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_KeyElementBindingController : ApiController
    {
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region å·¥åºæµè½¬å¡ç»´æŠ¤-查询
        /// <summary>
        /// è¿”回工序流转卡维护列表主表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Sc_KeyElementBinding/GetProcessExchangeList")]
        [HttpGet]
        public object GetProcessExchangeList(string HBillNo, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeInfo_ForKeyBind where æµè½¬å¡å· = '" + HBillNo + "'", "h_v_Sc_ProcessExchangeInfo_ForKeyBind");
                if (ds.Tables[0].Rows.Count > 0 && ds != null)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无此流转卡信息,请核对改流转卡是否已被删除";
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "异常!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å…³é”®ä»¶ç»‘定 äº§å“æ¡ç è§£æž
        [Route("Sc_KeyElementBinding/ProductBardCode_JX")]
        [HttpGet]
        public object ProductBardCode_JX(string HBarCode, string HProcExchBillNo, string HBillNo, string user, int HOrgID)
        {
            try
            {
                //判断所扫条码是否存在条码档案当中
                ds = oCN.RunProcReturn(@"select 1 from Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    //条码档案中没有本次扫描的条码,则根据规则解析生成条码
                    ds = oCN.RunProcReturn(@"exec h_p_Sc_BarCode_JX '" + HBarCode + "','" + HProcExchBillNo + "','" + HOrgID + "'", "h_p_Sc_BarCode_JX");
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "解析条码失败,请与管理联系!" + ds.Tables[0].Rows[0]["HBackRemark"] + "==exec h_p_Sc_BarCode_JX '" +HBarCode + "','" + HProcExchBillNo + "','" + HOrgID + "'";
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                }
                //条码档案中已有本次扫描的条码,匹配用料清单(扫码数据写入临时表)
                ds = oCN.RunProcReturn(@"exec h_p_Sc_PPBomBill_Matching '" + HBarCode + "','" + HProcExchBillNo + "','" + HBillNo + "','" + HOrgID + "'", "h_p_Sc_PPBomBill_Matching");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "";
                        objJsonResult.data = ds.Tables[0];
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "";
                    objJsonResult.data = "没有查询到数据";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "ERROR!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å…³é”®ä»¶ç»‘定 é…ä»¶æ¡ç è§£æž
        [Route("Sc_KeyElementBinding/PartsBardCode_JX")]
        [HttpGet]
        public object PartsBardCode_JX(string HBarCode, string HProcExchBillNo, string HBillNo, string user, int HOrgID)
        {
            try
            {
                //判断所扫条码是否存在条码档案当中
                ds = oCN.RunProcReturn(@"select 1 from Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    //条码档案中没有本次扫描的条码,则根据规则解析生成条码
                    ds = oCN.RunProcReturn(@"exec h_p_Sc_BarCode_JX '" + HBarCode + "','" + HProcExchBillNo + "','" + HOrgID + "'", "h_p_Sc_BarCode_JX");
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "解析条码失败,请与管理联系!" + ds.Tables[0].Rows[0]["HBackRemark"] + "==exec h_p_Sc_BarCode_JX '" + HBarCode + "','" + HProcExchBillNo + "','" + HOrgID + "'";
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                }
                //条码档案中已有本次扫描的条码,查询配件信息(扫描条码信息写入临时表)
                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBill_Bind '" + HBarCode + "','" + HProcExchBillNo + "','" + HBillNo + "','" + HOrgID + "'", "h_p_Gy_BarCodeBill_Bind");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "";
                        objJsonResult.data = ds.Tables[0];
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "";
                    objJsonResult.data = "没有查询到数据";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "ERROR!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å…³é”®ä»¶ç»‘定保存 æ–°å¢ž/编辑
        [Route("Sc_KeyElementBinding/Save")]
        [HttpPost]
        public object Save([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();                             //用户
            DBUtility.ClsPub.CurUserName = msg4;
            string UserName = "";
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsSc_AssemblyBill oBill = new DAL.ClsSc_AssemblyBill();
                List<Model.ClsSc_AssemblyBillMain> lsmain = new List<Model.ClsSc_AssemblyBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Sc_AssemblyBillMain2(msg2);
                foreach (Model.ClsSc_AssemblyBillMain oItem in lsmain)
                {
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3727";
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HBillStatus = 1;
                    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
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSc_AssemblyBillSub> ls = new List<Model.ClsSc_AssemblyBillSub>();
                ls = oListModels.getObjectByJson_Sc_AssemblyBillSub2(msg3);
                int i = 0;
                foreach (Model.ClsSc_AssemblyBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    oItemSub.HUnitID = 0;
                    oItemSub.HQty = 1;
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                if (bResult)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 0;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region [删除临时表数据]
        [Route("Deltet_Sc_AssemblyBill_BindBarCodeTemp")]
        [HttpGet]
        public object Deltet_Sc_AssemblyBill_BindBarCodeTemp(string HBillNo, string HBarCode, string user)
        {
            DataSet ds;
            try
            {
                if (string.IsNullOrWhiteSpace(HBillNo) || string.IsNullOrWhiteSpace(HBarCode))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "追溯单号或配件条码为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HBillNo_bak = '" + HBillNo + "' and HBarCode = '" + HBarCode + "'", "Sc_AssemblyBill_BindBarCodeTemp");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                oCN.RunProc("delete from Sc_AssemblyBill_BindBarCodeTemp where HBillNo_bak = '" + HBillNo + "' and HBarCode = '" + HBarCode + "'");
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/ListModels.cs
@@ -4313,6 +4313,30 @@
            return list;
        }
        /// <summary>
        /// ç»„装追溯-主2
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsSc_AssemblyBillMain> getObjectByJson_Sc_AssemblyBillMain2(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_AssemblyBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// ç»„装追溯-子2
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsSc_AssemblyBillSub> getObjectByJson_Sc_AssemblyBillSub2(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_AssemblyBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(jsonString);
            return list;
        }
        ///首件检验单 å­™è¡¨
        ///ClsQC_FirstPieceCheckBillSub_ValueGrid
        public List<Model.ClsQC_FirstPieceCheckBillSub_ValueGrid> getObjectByJson_ClsQC_FirstPieceCheckBillSub_ValueGrid(string jsonString)
WebAPI/WebAPI.csproj
@@ -436,6 +436,7 @@
    <Compile Include="Controllers\CJGL\Cj_SendGoodsBillController.cs" />
    <Compile Include="Controllers\CJGL\Mes_OrderProcFlowAllReportController.cs" />
    <Compile Include="Controllers\CJGL\Gy_MaterPreventErrMouldBillController.cs" />
    <Compile Include="Controllers\CJGL\Sc_KeyElementBindingController.cs" />
    <Compile Include="Controllers\SBGL\SBBB\Sb_EquipMentCollectionTechParamController.cs" />
    <Compile Include="Controllers\SBGL\SBBB\Sb_EquipMentCollectionTechParam_TempController.cs" />
    <Compile Include="Controllers\SCGL\Sc_ProductionReportsController.cs" />