New file |
| | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | |
| | | // |
| | | } |
| | | } |