From 9c634fd767aec36ef97c3a814bf7a29c67d20ee1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 29 三月 2024 10:57:35 +0800
Subject: [PATCH] 修改单据重复显示问题,增加工单源单id关联
---
VueWebApi/DLL/DAL/AppPurchManagementDAL.cs | 184 +++++++++++++++++++++++++--------------------
1 files changed, 101 insertions(+), 83 deletions(-)
diff --git a/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs b/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
index 5897eb7..bf933fb 100644
--- a/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
@@ -34,7 +34,7 @@
//dynamicParams.Add("@purchordercode", purchordercode);
}
//鏌ヨ鏈叧闂笖鏈叏閮ㄥ埌璐х殑閲囪喘璁㈠崟
- sql = @"select distinct A.ordercode from T_PurchaseOrder A
+ sql = @"select distinct A.orderid,A.ordercode from T_PurchaseOrder A
inner join T_PurchaseOrder_sub B on A.ordercode=B.purchaseorder_code
where (isnull(B.quantity,0)-isnull(B.countarrivalquantity,0)+isnull(B.countreturnquantity,0))>0 and A.status<>'CLOSED'" + search;
dynamicParams.Add("@purchordercode", purchordercode);
@@ -71,7 +71,7 @@
try
{
//鏍规嵁閲囪喘璁㈠崟鍙锋煡璇㈢墿鏂欎俊鎭紝渚涘簲鍟嗕俊鎭�
- sql = @"select B.rownumber, B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno,M.is_incheck,
+ sql = @"select B.rownumber,B.sbid, B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno,M.is_incheck,
B.quantity,B.customercode,C.name as customername,A.departmentcode,T.org_name as departmentname,U.code as uomcode,U.name as uomname,
A.ordercode,B.countarrivalquantity,A.acceptdate
from T_PurchaseOrder A
@@ -204,7 +204,7 @@
hbillno = djwo,
hbilltype = "1103", //閲囪喘鍒拌揣鍗曠被鍨�
hbarcode = json[i].children[j].labcode,
- qualitystatus= json[i].hischeck=="Y"? "TS" : "CS",
+ qualitystatus = json[i].hischeck == "Y" ? "TS" : "CS",
hbarcodestatus = "Y",
hbarcodetype = "P",
hmaterialcode = json[i].children[j].partnumber,
@@ -349,26 +349,28 @@
#endregion
#region[閲囪喘鍏ュ簱鎵弿鏍囩鏉$爜甯﹀嚭鍒拌揣鍗曚俊鎭痌
- public static ToMessage MesAppPurchInStorScanLabCode(string labcode, string ordercode)
+ public static ToMessage MesAppPurchInStorScanLabCode(string labcode)
{
string sql = "";
var dynamicParams = new DynamicParameters();
try
{
//鍒ゆ柇鏉$爜鐘舵��
- mes = LabCodeStatusMessage.LabCodeStatus("2060", "1103", labcode);//鍔熻兘缂栧彿銆佸崟鎹被鍨嬬紪鐮併�佹爣绛剧紪鐮�
+ mes = LabCodeStatusMessage.LabCodeStatus("2060", "1103", labcode);//鍔熻兘缂栧彿(閲囪喘鍒拌揣)銆佸崟鎹被鍨嬬紪鐮�(閲囪喘鍒拌揣鍗�)銆佹爣绛剧紪鐮�
if (mes.code == "300")
{
return mes;
}
- //鍒ゆ柇鎵弿鏍囩鏄惁涓哄綋鍓嶉�夋嫨閲囪喘璁㈠崟涓嬬殑鍒拌揣鍗曟墍鐢熸垚鏍囩
- sql = @"select * from T_BarCodeBill where hsourcebillno=@ordercode";
- dynamicParams.Add("@ordercode", ordercode);
- var data0 = DapperHelper.selectdata(sql, dynamicParams);
- if (data0.Rows.Count < 0)
+ //鍒ゆ柇鏍囩鐘舵��(鏄惁宸插叆搴�(涓嶈兘鍐嶅叆))
+ sql = @"select * from TK_WMS_Inwh_Sub where labcode like '%'+@labcode+'%'";
+ dynamicParams.Add("@labcode", "labcode");
+ dynamicParams.Add("@labcode", labcode);
+ var dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
{
mes.code = "300";
- mes.Message = "褰撳墠鏉$爜涓嶆槸閲囪喘璁㈠崟銆�" + ordercode + "銆戠敓鎴愭潯鐮�!";
+ mes.count = 0;
+ mes.Message = "褰撳墠鏉$爜宸插叆搴�!";
mes.data = null;
return mes;
}
@@ -429,8 +431,8 @@
JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(incontent);
list.Clear();
//鍐欏叆鍏ュ簱璁板綍涓昏〃
- sql = @"insert into TK_WMS_Inwh_Main(docu_typecode,hbillno,hsoucenillno,status,hcustomer,hdempart,lm_user,lm_date)
- values(@docu_typecode,@hbillno,@hsoucenillno,@status,@hcustomer,@hdempart,@lm_user,@lm_date)";
+ sql = @"insert into TK_WMS_Inwh_Main(docu_typecode,hbillno,hsoucenillnoid,hsoucenillno,status,hcustomer,hdempart,lm_user,lm_date)
+ values(@docu_typecode,@hbillno,@hsoucenillnoid,@hsoucenillno,@status,@hcustomer,@hdempart,@lm_user,@lm_date)";
list.Add(new
{
str = sql,
@@ -438,6 +440,7 @@
{
docu_typecode = "1201",
hbillno = djwo,
+ hsoucenillnoid= arra[0]["hsoucenillnoid"].ToString(),
hsoucenillno = ordercode,
status = "NEW",
hcustomer = arra[0]["customercode"].ToString(),
@@ -466,7 +469,7 @@
string labcode = "";//鏍囩淇℃伅
decimal suminqty = 0; //鍗曟爣绛惧叆搴撴�绘暟閲�
string batchno = ""; //鎵规鍙�
-
+
//鏌ヨ姹囨�绘爣绛句俊鎭�
for (int j = 0; j < arra[i]["labcont"].Count(); j++)//寰幆鑾峰彇鏍囩淇℃伅
{
@@ -495,10 +498,33 @@
hinqty = decimal.Parse(arra[i]["labcont"][j]["qty"].ToString())
}
});
- labcode = labcode + arra[i]["labcont"][j]["labcode"].ToString() + ",";
+
+ //鍐欏叆搴撳瓨琛�
+ sql = @"insert into TK_WMS_Stock(labcode,materiel_code,batchno,storehouse_code,location_code,customercode,qty,lm_user,lm_date)
+ values(@labcode,materiel_code,batchno,storehouse_code,location_code,customercode,qty,lm_user,lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ labcode = arra[i]["labcont"][j]["labcode"].ToString(),
+ materiel_code = arra[i]["partcode"].ToString(),
+ batchno = batchno,
+ storehouse_code = arra[i]["storehousecode"].ToString(),
+ location_code = arra[i]["warehousecode"].ToString(),
+ customercode = arra[i]["customercode"].ToString(),
+ qty = suminqty,
+ lm_user = username,
+ lm_date = datetime,
+ }
+ });
+
+
+ //labcode = labcode + arra[i]["labcont"][j]["labcode"].ToString() + ",";
suminqty = suminqty + decimal.Parse(arra[i]["labcont"][j]["qty"].ToString());
partlabqty = partlabqty + decimal.Parse(arra[i]["labcont"][j]["qty"].ToString());
batchno = arra[i]["labcont"][j]["batch"].ToString();
+
}
//鏇存柊閲囪喘璁㈠崟瀛愯〃鍏ュ簱鏁伴噺
@@ -516,9 +542,9 @@
});
//鍐欏叆閲囪喘鍏ュ簱鍗曞瓙琛�
- sql = @"insert into TK_WMS_Inwh_Sub(hbillno,labcode,rownumber,materiel_code,storehouse_code,location_code,qty,batchno)
- values(@hbillno,@labcode,@rownumber,@materiel_code,@storehouse_code,@location_code,@qty,@batchno)";
- labcode = string.Format("'{0}'", labcode.Substring(0, labcode.Length - 1).Replace(",", "','"));
+ sql = @"insert into TK_WMS_Inwh_Sub(hbillno,rownumber,materiel_code,storehouse_code,location_code,qty,batchno)
+ values(@hbillno,@rownumber,@materiel_code,@storehouse_code,@location_code,@qty,@batchno)";
+ //labcode = string.Format("'{0}'", labcode.Substring(0, labcode.Length - 1).Replace(",", "','"));
list.Add(new
{
str = sql,
@@ -534,44 +560,7 @@
batchno = batchno
}
});
- //鍐欏叆搴撳瓨琛ㄥ墠鏌ヨ褰撳墠鐗╂枡鍦ㄥ簱瀛樿〃涓槸鍚﹀瓨鍦�,鍐欏叆鎴栨洿鏂板簱瀛樿〃
- sql = @"select * from TK_WMS_Stock where materiel_code=@materiel_code";
- dynamicParams.Add("@materiel_code", arra[i]["partcode"].ToString());
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- if (data1.Rows.Count > 0)
- {
- sql = @"update TK_WMS_Stock set qty=qty+@suminqty
- where materiel_code=@materiel_code";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- materiel_code = arra[i]["partcode"].ToString(),
- suminqty = suminqty
- }
- });
- }
- else
- {
- sql = @"insert into TK_WMS_Stock(materiel_code,batchno,storehouse_code,location_code,customercode,qty,lm_user,lm_date)
- values(materiel_code,batchno,storehouse_code,location_code,customercode,qty,lm_user,lm_date)";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- materiel_code = arra[i]["partcode"].ToString(),
- batchno = batchno,
- storehouse_code= arra[i]["storehousecode"].ToString(),
- location_code= arra[i]["warehousecode"].ToString(),
- customercode= arra[i]["customercode"].ToString(),
- qty= suminqty,
- lm_user=username,
- lm_date= datetime,
- }
- });
- }
+
/*鍐欏叆ERP閲囪喘鍏ュ簱鍗�************
* ***********************
* **********************
@@ -697,6 +686,25 @@
var dynamicParams = new DynamicParameters();
try
{
+ //鍒ゆ柇鏉$爜鐘舵��
+ mes = LabCodeStatusMessage.LabCodeStatus("2060", "1103", labcode);//鍔熻兘缂栧彿(閲囪喘鍒拌揣)銆佸崟鎹被鍨嬬紪鐮�(閲囪喘鍒拌揣鍗�)銆佹爣绛剧紪鐮�
+ if (mes.code == "300")
+ {
+ return mes;
+ }
+ //鍒ゆ柇鏍囩鐘舵��(鏄惁宸插叆搴�(涓嶈兘閫�璐�))
+ sql = @"select * from TK_WMS_Inwh_Sub where labcode like '%'+@labcode+'%'";
+ dynamicParams.Add("@labcode", "labcode");
+ dynamicParams.Add("@labcode", labcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = "褰撳墠鏉$爜宸插叆搴�!";
+ mes.data = null;
+ return mes;
+ }
//鏍规嵁閲囪喘璁㈠崟鍙枫�佺墿鏂欑紪鐮併�佹爣绛炬潯鐮佹煡鎵炬爣绛句俊鎭�
sql = @"select A.hbarcode,A.hcustomercode,C.name as hcustomercode,
A.hbatchno,A.qualitystatus,A.location_code,L.name as location_name,A.hqty
@@ -768,15 +776,15 @@
str = sql,
parm = new
{
- orderdate= datetime,
- ordercode= djwo,
- status="NEW",
- departmentcode= arra[0]["departmentcode"].ToString(),
- customercode= arra[0]["customercode"].ToString(),
- saleorderid= orderid,
- saleordercode=ordercode,
- lm_user= username,
- lm_date= datetime
+ orderdate = datetime,
+ ordercode = djwo,
+ status = "NEW",
+ departmentcode = arra[0]["departmentcode"].ToString(),
+ customercode = arra[0]["customercode"].ToString(),
+ saleorderid = orderid,
+ saleordercode = ordercode,
+ lm_user = username,
+ lm_date = datetime
}
});
//鏍规嵁婧愬崟+鐗╂枡鏌ヨ閲囪喘璁㈠崟鍒拌揣鎬绘暟銆佸叆搴撴�绘暟
@@ -804,6 +812,18 @@
//鏌ヨ姹囨�绘爣绛句俊鎭�
for (int j = 0; j < arra[i]["labcont"].Count(); j++)//寰幆鑾峰彇鏍囩淇℃伅
{
+ //鏇存柊鏉$爜鐘舵��
+ sql = @"update T_BarCodeBill set hbarcodestatus=@hbarcodestatus where hsourcebillno=@hsourcebillno and hbarcode=@hbarcode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ hbarcodestatus = "N",
+ hsourcebillno = ordercode,
+ hbarcode = arra[i]["labcont"][j]["labcode"].ToString()
+ }
+ });
//鏇存柊鍒拌揣鍗曞瓙琛ㄩ��璐ф暟閲�
sql = @"update T_PurchaseArrivalOrder_sub set hreturnqty=isnull(hreturnqty,0)+@inqty where hbillno=@hbillno and hpartcode=@hpartcode";
list.Add(new
@@ -816,6 +836,21 @@
hinqty = decimal.Parse(arra[i]["labcont"][j]["qty"].ToString())
}
});
+
+ //鏇存柊搴撳瓨琛�
+ sql = @"update TK_WMS_Stock set qty=qty-@inqty
+ where materiel_code=@materiel_code and labcode=@labcode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ labcode = arra[i]["labcont"][j]["labcode"].ToString(),
+ materiel_code = arra[i]["partcode"].ToString(),
+ inqty = decimal.Parse(arra[i]["labcont"][j]["qty"].ToString())
+ }
+ });
+
labcode = labcode + arra[i]["labcont"][j]["labcode"].ToString() + ",";
suminqty = suminqty + decimal.Parse(arra[i]["labcont"][j]["qty"].ToString());
partlabqty = partlabqty + decimal.Parse(arra[i]["labcont"][j]["qty"].ToString());
@@ -855,24 +890,6 @@
batchno = batchno
}
});
- //鍐欏叆搴撳瓨琛ㄥ墠鏌ヨ褰撳墠鐗╂枡鍦ㄥ簱瀛樿〃涓槸鍚﹀瓨鍦�,鍐欏叆鎴栨洿鏂板簱瀛樿〃
- sql = @"select * from TK_WMS_Stock where materiel_code=@materiel_code";
- dynamicParams.Add("@materiel_code", arra[i]["partcode"].ToString());
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- if (data1.Rows.Count > 0)
- {
- sql = @"update TK_WMS_Stock set qty=qty-@suminqty
- where materiel_code=@materiel_code";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- materiel_code = arra[i]["partcode"].ToString(),
- suminqty = suminqty
- }
- });
- }
/*鍐欏叆ERP閲囪喘閫�璐у崟************
* ***********************
* **********************
@@ -905,5 +922,6 @@
return mes;
}
#endregion
+
}
}
\ No newline at end of file
--
Gitblit v1.9.3