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.CJGL
|
{
|
public class Cj_CheckBarcodeController : ApiController
|
{
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
DataSet ds;
|
|
|
#region 三码合一,判断扫描物料条码绑定信息是否一致
|
[Route("CheckBarcodeController/Get_BarCode_BarcodeCheck")]
|
[HttpGet]
|
public object CheckBarcode(string HBarCode_Pallet, string HBarCode_Destination, string HBarCode_MiddleBox, string HBarCode_SN, int HBarCodeType, int HInterID, string HBillNo, string HMaker, string HBillType)
|
{
|
try
|
{
|
ds = oCn.RunProcReturn("exec h_p_Cj_CheckBarcodeBing '" + HBarCode_Pallet + "','" + HBarCode_Destination + "','" + HBarCode_MiddleBox + "','" + HBarCode_SN + "','" + HBarCodeType + "'," + HInterID + ",'" + HBillNo + "','" + HMaker + "','" + HBillType + "'", "h_p_Cj_CheckBarcodeBing");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "扫描条码判断错误!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "扫描条码失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
#endregion
|
|
#region 三码合一核对扫描记录 上传生单
|
|
[Route("CheckBarcodeController/Save_BarCode_BarcodeCheck")]
|
[HttpGet]
|
public object Save_BarCode_BarcodeCheck(Int64 HInterID, string HBillNo, string HBillType)
|
{
|
try
|
{
|
oCn.BeginTran();
|
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_BarCodeBingCheckBill_Insert " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_BarCodeBingCheckBill_Insert");
|
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
oCn.RollBack();
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //失败!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
|
{
|
oCn.RollBack();
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString(); //失败!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
oCn.Commit();
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "单据号:" + HBillNo + " 保存成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "生成单据失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
#endregion
|
|
#region 拆箱小卫
|
[Route("CheckBarcodeController/UnpackMiddleBox")]
|
[HttpGet]
|
public object UnpackMiddleBox(string HBarCode_Middle, int signal, string HMaker, string HDate)
|
{
|
try
|
{
|
if (signal == 1)//扫码
|
{
|
DataSet ds = oCn.RunProcReturn("select a.HCaseCode 中箱码,a.HBarCode 对应的SN码,b.HNumber 物料代码,b.HName 物料名称 from Gy_CaseCodeRelation a left join Gy_Material b on a.HMaterID=b.HItemID where HCaseCode='" + HBarCode_Middle + "'", "Gy_CaseCodeRelation");
|
if (ds.Tables[0].Rows[0]["中箱码"].ToString() == "" || ds == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条码不存在!请检查是否装箱";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "成功";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
|
}
|
|
else
|
{
|
oCn.BeginTran();
|
oCn.RunProc("delete from Gy_CaseCodeRelation where HCaseCode='" + HBarCode_Middle + "'");
|
DataSet dss = oCn.RunProcReturn("select * from Gy_BarCodeBill where HBarCode=' " + HBarCode_Middle + "'", "Gy_BarCodeBill");
|
if (dss != null && dss.Tables.Count > 0)
|
{
|
oCn.RunProc("delete from Gy_BarCodeBill where HBarCode='" + HBarCode_Middle + "'");
|
}
|
oCn.RunProc("insert into System_log VALUES('" + HDate + "','" + HMaker + "',''," + "'小卫拆箱条码" + HBarCode_Middle + "'," + "'APP-中箱码拆箱'" + ",''," + "'删除条码')");
|
oCn.Commit();
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
}
|
catch (Exception)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "错误请联系管理员";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region sn装箱小卫
|
[Route("CheckBarcodeController/PackedBoxSn")]
|
[HttpGet]
|
public object PackedBoxSn(string HBarCode, string HMaker, string HDate)
|
{
|
try
|
{
|
DataSet ds = oCn.RunProcReturn("select a.HBarCode sn码,a.HItemID,b.Hname 物料名称,b.hnumber 物料代码 from Gy_BarCodeBill a LEFT JOIN Gy_Material b on a.hmaterid=b.hitemid where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
|
if(ds.Tables[0].Rows.Count==0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "该sn码不存在,请检查!!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
DataSet dss = oCn.RunProcReturn("select * from Gy_CaseCodeRelation where HBarCode='" + HBarCode + "'", "Gy_CaseCodeRelation");
|
int counts=dss.Tables[0].Rows.Count;
|
if (counts > 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "该sn码已经装箱,请检查!!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "成功";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region sn装箱小卫提交
|
[Route("CheckBarcodeController/submitPackedBoxSn")]
|
[HttpGet]
|
public object submitPackedBoxSn(string HItemIDs, string HMaker, string HDate)
|
{
|
try
|
{
|
DataSet ds = oCn.RunProcReturn("exec h_p_Gy_CaseCodeBySN '"+ HItemIDs+ "'", "h_p_Gy_CaseCodeBySN");
|
if (ds.Tables[0].Rows[0]["HBack"] == "2")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "中箱码已存在请重新生成";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "成功";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
}
|
}
|