You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
4.9 KiB

3 years ago
using Gm_WMS.DataAccess.DataService;
using Stone.Common;
using Stone.DataService.Biz.BizPublic;
using Stone.Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace Stone.DataService.Biz.Bill
{
public class F_STD_Check
{
public static DataSet VDA_Check_Submit(Command cmd)
{
string UserName = cmd.Pars[0];
string PackageNo1 = cmd.Pars[1];
string PackageNo2 = cmd.Pars[2];
string PartNumber = cmd.Pars[3];
int Qty = Convert.ToInt32(cmd.Pars[4]);
string BarCode = cmd.Pars[5];
string PackageNo = PackageNo1.Substring(0, PackageNo1.Length - 3);
LocalDBService db = null;
try
{
db = new LocalDBService();
db.BeginTrans();
Entity_t_JIS_VDA t_JIS_VDA = new Entity_t_JIS_VDA(db);
Entity_t_VerifyBill t_VerifyBill = new Entity_t_VerifyBill(db);
DataTable dtVDA = t_JIS_VDA.GetData($"[PackageNo]='{PackageNo}'").Tables[0];
if (dtVDA.Rows.Count == 0)
throw new Exception($"装箱单号 {PackageNo} 在系统中不存在");
if (Convert.ToBoolean(dtVDA.Rows[0]["IsPackingVerification"]))
throw new Exception($"装箱单号 {PackageNo} 已经做过装箱校验了");
if (dtVDA.Rows[0]["PartNumber"].ToString().Trim().ToUpper() != PartNumber)
{
throw new Exception($"零件号{PartNumber}不正确,正确零件号为{dtVDA.Rows[0]["PartNumber"]}");
}
if (Convert.ToInt32(dtVDA.Rows[0]["Qty"]) != Qty)
{
throw new Exception($"数量{Qty}不正确,正确数量为{dtVDA.Rows[0]["Qty"]}");
}
t_JIS_VDA.Edit($"[IsPackingVerification]=1", $"[ID]={dtVDA.Rows[0]["ID"]}");
if (t_VerifyBill.GetData($"[BarCode]='{BarCode}'").Tables[0].Rows.Count > 0)
throw new Exception($"内部装箱单号 {BarCode} 重复扫描");
DataRow drVerify = t_VerifyBill.Table.NewRow();
drVerify["AsnNumber"] = dtVDA.Rows[0]["AsnNumber"].ToString();
drVerify["PackageNo"] = PackageNo;
drVerify["PackageNo1"] = PackageNo1;
drVerify["PackageNo2"] = PackageNo2;
drVerify["PartNumber"] = PartNumber;
drVerify["Qty"] = Qty;
drVerify["BarCode"] = BarCode;
drVerify["UserName"] = UserName;
t_VerifyBill.Add(drVerify);
db.Commit();
3 years ago
return Stone.DataService.Biz.BizPublic.MyDataSet.GetDataByString("OK");
3 years ago
}
catch (Exception ex)
{
if (db != null) db.Rollback();
throw ex;
}
finally
{
if (db != null) db.EndTrans();
}
}
public DataSet VDA_UPDATE_Submit(Command cmd)
{
string UserName = cmd.Pars[0];
string VDA = cmd.Pars[1];
string BarCode = cmd.Pars[2];
LocalDBService db = null;
try
{
db = new LocalDBService();
db.BeginTrans();
Entity_t_VerifyBill t_VerifyBill = new Entity_t_VerifyBill(db);
var dsVerifyBill = t_VerifyBill.GetData($"[PackageNo1]='{VDA}' or [PackageNo2]='{VDA}'");
if(dsVerifyBill.Tables.Count == 0 || dsVerifyBill == null)
{
throw new Exception($"不存在 VDA标签 {VDA} 的校验记录!");
}
var strID = dsVerifyBill.Tables[0].Rows[0]["ID"].ToString();
var strsql = "";
//更新为失效
strsql = "Update t_VerifyBill" +
" set State = '已失效'" +
" where PackageNo1 = '" + VDA + "' or PackageNo2 = '" + VDA + "'";
db.Exec_NonQuery(strsql);
//插入新记录
strsql = "Insert into t_VerifyBill(AsnNumber,PackageNo,PackageNo1,PackageNo2,PartNumber,Qty,BarCode,UserName)" +
" select AsnNumber,PackageNo,PackageNo1,PackageNo2,PartNumber,Qty,'" + BarCode + "'," +
"'" + UserName + "'" +
" from t_VerifyBill where ID = " + strID;
db.Exec_NonQuery(strsql);
db.Commit();
return Stone.DataService.Biz.BizPublic.MyDataSet.GetDataByString("OK");
}
catch (Exception ex)
{
if (db != null) db.Rollback();
throw ex;
}
finally
{
if (db != null) db.EndTrans();
}
}
3 years ago
}
}