1
yangle
2023-03-22 cac7dffbf8189bd6f316339c032cbb9519eb7c6f
WebAPI/Controllers/Sc_GroupOrderBillController.cs
@@ -101,7 +101,7 @@
            string msg1 = _value.ToString();
            try
            {
                //委外工序发出反序列化
                //组托单反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<GroupOrderBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupOrderBill>>(msg1);
                //获取年月日并拼接成字符串
@@ -113,6 +113,18 @@
                long HInterID = list[0].HInterID;//递入type得到的单据ID
                string HBillNo = list[0].HBillNo;//递入type得到的单据No
                string HMaker = list[0].HMaker;//制单人
                string HBatchNo = list[0].HBatchNo;//入库批次
                string HBarCode_Cus = list[0].HBarCode_Cus;//客户标签(黑标号)
                //校验黑标号唯一性
                ds= oCN.RunProcReturn($"select * from Sc_PackUnionBillMain where HBarCode_Cus ='{HBarCode_Cus}'", "Sc_PackUnionBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = $"黑标号{HBarCode_Cus}已存在";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //生成唯一条码
                ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + nowDate + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                oCN.RunProc("exec h_p_WMS_SetMaxNo '" + nowDate + "'");
@@ -125,17 +137,21 @@
                    "(" +
                        "HYear, HBillType, HInterID, HBillNo, HMaker" +
                        ", HMakeDate, HPeriod, HDate, HRemark, HICMOInterID" +
                        ", HICMOBillNo, HBarCode_Pack, HMaterID, HUnitID" +
                        ", HICMOBillNo, HBarCode_Pack, HMaterID, HUnitID,HBatchNo,HBarCode_Cus" +
                    ")" +
                    "values" +
                    "(" +
                        "'"+ year + "', '" + HBillType + "'," + HInterID + ", '" + HBillNo + "', '" + HMaker + "'" +
                        ",GETDATE(),0,GETDATE(),' ',0" +
                        ",' ','"+ HBarCode_Pack + "',0,0" +
                    ")"
                        ",' ','"+ HBarCode_Pack + "',0,0,'" + HBatchNo +"','" + HBarCode_Cus +
                    "')"
                );
                //插入子表
                oCN.RunProc("exec h_p_SaveGroupOrder " + HInterID + "");
                //根据子表汇总生成Sc_PackUnionBillSub_Sum表记录
                oCN.RunProc("exec h_p_Sc_PackUnionBill_SumSubBill " + HInterID + ",'','',''");
                //插入条码档案表
                oCN.RunProc("exec h_p_SaveGroupOrderCodeToGy_BarCodeBill " + HInterID + "");
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -289,6 +305,104 @@
            }
        }
        /// <summary>
        /// 根据唯一条码删除缓存表中扫码记录
        /// </summary>
        /// <param name="BarCode">唯一条码</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/DelCacheListByBarCode")]
        [HttpGet]
        public object DelCacheListByBarCode(string BarCode)
        {
            try
            {
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HBarCode = '" + BarCode + "' and HBillType = '2601'");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!";
                objJsonResult.data = e.ToString();
                return objJsonResult;
            }
        }
        /// <summary>
        /// 根据组托单主ID和子ID删除列表中行记录
        /// </summary>
        /// <param name="HInterID">组托单主ID</param>
        /// <param name="HEntryID">组托单子ID</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/DelListRow")]
        [HttpGet]
        public object DelListRow(long HInterID,long HEntryID)
        {
            try
            {
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                oCN.BeginTran();
                oCn.RunProc("Delete from Sc_PackUnionBillMain where HInterID = " + HInterID);
                oCn.RunProc("Delete from Sc_PackUnionBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID);
                //重新刷新更新 汇总子表 的记录和条码档案
                oCn.RunProc("Delete from Sc_PackUnionBillSub_Sum where HInterID = " + HInterID);
                oCn.RunProc("Delete from Gy_BarCodeBill where HInterID = " + HInterID + " and HSourceBillType = '3772'");
                //根据子表汇总生成Sc_PackUnionBillSub_Sum表记录
                oCN.RunProc("exec h_p_Sc_PackUnionBill_SumSubBill " + HInterID + ",'','',''");
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!";
                objJsonResult.data = e.ToString();
                return objJsonResult;
            }
        }
        /// <summary>
        /// 根据组托单主ID和子ID修改列表中行记录的黑标号
        /// </summary>
        /// <param name="HInterID">组托单主ID</param>
        /// <param name="HBarCode_Cus">黑标号</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/editListRowHBarCode_Cus")]
        [HttpGet]
        public object editListRowHBarCode_Cus(long HInterID,string HBarCode_Cus)
        {
            try
            {
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                oCn.RunProc("update Sc_PackUnionBillMain set HBarCode_Cus = '" + HBarCode_Cus + "' where HInterID = " + HInterID);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "修改成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "修改失败!";
                objJsonResult.data = e.ToString();
                return objJsonResult;
            }
        }
        //
    }
}