zgq
2021-04-14 5d72b382b9251cffaf2c71c2e42d94bf1db41afa
新增组托单模块及列表
1个文件已修改
2个文件已添加
234 ■■■■■ 已修改文件
WebAPI/Controllers/Sc_GroupOrderBillController.cs 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/GroupOrderBill.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_GroupOrderBillController.cs
New file
@@ -0,0 +1,213 @@
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
    //组托单Controller
    public class Sc_GroupOrderBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        string HBillType = "2601";
        /// <summary>
        /// 扫装箱码方法
        /// </summary>
        /// <param name="HInterID">组托单ID</param>
        /// <param name="HBillNo">组托单No</param>
        /// <param name="HBillTyp">组托单类型</param>
        /// <param name="HMaker">组托单制单人</param>
        /// <param name="HBarCode_Pack">装箱单条码</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/GetPackBarCode")]
        [HttpGet]
        public object GetPackBarCode(int HInterID,string HBillNo,string HBillTyp,string HMaker, string HBarCode_Pack)
        {
            try
            {
                if (HBarCode_Pack == null || HBarCode_Pack.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "请输入装箱码!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    //判断是否已扫码,并存入缓存表(若未扫码)
                    ds = oCN.RunProcReturn("exec h_p_PackToTemp " + HInterID + ",'" + HBillNo + "','" + HBillTyp + "','" + HMaker + "','" + HBarCode_Pack + "'", "h_p_PackToTemp");
                    if (ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();//该装箱单已扫码!
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //else
                    //{
                    //    //返回装箱单数据(已合并到存储过程‘h_p_PackToTemp’中)
                    //    ds = oCN.RunProcReturn("exec h_p_GroupOrderBill_GetPackBarCode '" + HBarCode_Pack + "'", "h_p_GroupOrderBill_GetPackBarCode");
                    //}
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!无数据,请确认装箱码是否存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    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;
            }
        }
        /// <summary>
        /// 新增单据-保存按钮
        /// </summary>
        /// <param name="oMain">组托单实例对象</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/AddBill")]
        [HttpPost]
        public object AddBill([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                //委外工序发出反序列化
                msg1 = "[" + msg1.ToString() + "]";
                List<GroupOrderBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupOrderBill>>(msg1);
                //获取年月日并拼接成字符串
                string year = DateTime.Now.Year.ToString();
                string month = DateTime.Now.Month.ToString();
                string day = DateTime.Now.Day.ToString();
                string nowDate = year + month + day;
                string HBillType = this.HBillType;//组托单类型
                long HInterID = list[0].HInterID;//递入type得到的单据ID
                string HBillNo = list[0].HBillNo;//递入type得到的单据No
                string HMaker = list[0].HMaker;//制单人
                //生成唯一条码
                ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + nowDate + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                oCN.RunProc("exec h_p_WMS_SetMaxNo '" + nowDate + "'");
                string LSH = ClsPub.isStrNull(ds.Tables[0].Rows[0][0]);
                string HBarCode_Pack = nowDate + LSH;
                oCN.BeginTran();
                //插入主表
                oCN.RunProc(
                    "insert into Sc_PackUnionBillMain " +
                    "(" +
                        "HYear, HBillType, HInterID, HBillNo, HMaker" +
                        ", HMakeDate, HPeriod, HDate, HRemark, HICMOInterID" +
                        ", HICMOBillNo, HBarCode_Pack, HMaterID, HUnitID" +
                    ")" +
                    "values" +
                    "(" +
                        "'"+ year + "', '" + HBillType + "'," + HInterID + ", '" + HBillNo + "', '" + HMaker + "'" +
                        ",GETDATE(),0,GETDATE(),' ',0" +
                        ",' ','"+ HBarCode_Pack + "',0,0" +
                    ")"
                );
                //插入子表
                oCN.RunProc("exec h_p_SaveGroupOrder " + 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 = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// 返回列表
        /// </summary>
        /// <param name="sWhere">拼接的SQL</param>
        /// <returns>object</returns>
        [Route("GroupOrderBill/List")]
        [HttpGet]
        public object List(string sWhere)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_GroupOrderBillList order by 制单时间 desc", "h_v_GroupOrderBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_GroupOrderBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    string sql2 = " order by 制单时间 desc";
                    sql += sql2;
                    ds = oCN.RunProcReturn(sql, "h_v_GroupOrderBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "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;
            }
        }
        //
    }
}
WebAPI/Models/GroupOrderBill.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class GroupOrderBill
    {
        public long HInterID { get; set; }
        public string HBillNo { get; set; }
        public string HMaker { get; set; }
        //public int HYear { get; set; }
        //public double HPeriod { get; set; }
        //public DateTime HStationInTime { get; set; }
    }
}
WebAPI/WebAPI.csproj
@@ -224,6 +224,7 @@
    <Content Include="Scripts\bootstrap.js" />
    <Content Include="Scripts\bootstrap.min.js" />
    <Fakes Include="Fakes\Newtonsoft.Json.fakes" />
    <None Include="Properties\PublishProfiles\API.pubxml" />
    <None Include="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -313,6 +314,7 @@
    <Compile Include="Controllers\EntrustOutBackController.cs" />
    <Compile Include="Controllers\EntrustOutController.cs" />
    <Compile Include="Controllers\Kf_EntrustInBillController.cs" />
    <Compile Include="Controllers\Sc_GroupOrderBillController.cs" />
    <Compile Include="Controllers\MateOutController.cs" />
    <Compile Include="Controllers\MoveStockBillController.cs" />
    <Compile Include="Controllers\OtherOutBillController.cs" />
@@ -328,6 +330,7 @@
    <Compile Include="Controllers\SellOutController.cs" />
    <Compile Include="ListModels.cs" />
    <Compile Include="Models\ClsCg_POInStockBill.cs" />
    <Compile Include="Models\GroupOrderBill.cs" />
    <Compile Include="Models\json.cs" />
    <Compile Include="Controllers\WebAPIController.cs" />
    <Compile Include="Global.asax.cs">
@@ -356,7 +359,6 @@
    <Content Include="fonts\glyphicons-halflings-regular.woff" />
    <Content Include="fonts\glyphicons-halflings-regular.ttf" />
    <Content Include="fonts\glyphicons-halflings-regular.eot" />
    <None Include="Properties\PublishProfiles\PDAWeb.pubxml" />
    <None Include="Properties\PublishProfiles\WEBAPI.pubxml" />
    <Content Include="Views\Shared\Error.cshtml" />
    <Content Include="Views\_ViewStart.cshtml" />