From 291558a5ddd495195047a23a27b44ce5b0bbca5a Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 15 十一月 2024 11:06:00 +0800
Subject: [PATCH] 1.T8入库记录(查询、删除) 2.T+入库记录(查询、删除) 3.生产入库记录查询增加部门查询条件 4.看板视图根据配置文件区分T8还是T+
---
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 144 ++++++++++++++++++++++++++++++++++++------------
1 files changed, 108 insertions(+), 36 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 17a2d83..6ffebf1 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -1572,16 +1572,17 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
- E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+ E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+ COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
from TK_Wrk_Step A
left join TK_Wrk_Man B on A.wo_code=B.wo_code
left join TMateriel_Info M on B.materiel_code=M.partcode
left join TStep S on A.step_code=S.stepcode
left join TOrganization T on B.wkshp_code=T.torg_code
left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
- left join TSecStck K on M.idwarehouse=K.code
+ left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
where A.status in('ALLO','START') and S.flwtype='Z' " + search;
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
@@ -1677,18 +1678,19 @@
dynamicParams.Add("@partspec", partspec);
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
- sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+ sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,
(select isnull(sum(fqty),0) as fqty from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
- E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+ E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+ COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
from TK_Wrk_Step A
left join TK_Wrk_Man B on A.wo_code=B.wo_code
left join TMateriel_Info M on B.materiel_code=M.partcode
left join TStep S on A.step_code=S.stepcode
left join TOrganization T on B.wkshp_code=T.torg_code
left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
- left join TSecStck K on M.idwarehouse=K.code
+ left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
where A.status in('ALLO','START') and S.flwtype='W' " + search;
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
@@ -1977,6 +1979,15 @@
ngqty = groupedItems.Sum(item => Convert.ToDecimal(item.badqty));
}
list.Clear();
+ //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+ if (partcode == "" || partcode == null)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+ mes.data = null;
+ return mes;
+ }
//鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�(鏃犳柊澧�)
sql = @"select * from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code and style='S' and eqp_code=@eqpcode";
dynamicParams.Add("@wo_code", mesordercode);
@@ -2272,6 +2283,15 @@
}
list.Clear();
+ //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+ if (partcode == "" || partcode == null)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+ mes.data = null;
+ return mes;
+ }
//鍒ゆ柇鏄惁鏈夋敹鏂欒褰�(鏈夛細锛堝悓宸ュ崟+宸ュ簭+澶栧崗渚涙柟淇敼锛� 鏃狅細鏂板)
sql = @"select * from TK_Wrk_OutRecord where wo_code=@wo_code and step_code=@step_code and wx_code=@wx_code and style='S'";
dynamicParams.Add("@wo_code", mesordercode);
@@ -2758,7 +2778,7 @@
FROM TUser U
WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
FOR XML PATH('')), 1, 1, '') AS username,
- B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name
+ B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,'' as wx_code,'' as wx_name
from TK_Wrk_Record A
inner join TK_Wrk_RecordSub B on A.id=B.m_id
left join TK_Wrk_Man M on A.wo_code=M.wo_code
@@ -2777,7 +2797,7 @@
FROM TUser U
WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
FOR XML PATH('')), 1, 1, '') AS username,
- B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name
+ B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,A.wx_code,C.name as wx_name
from TK_Wrk_OutRecord A
inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
left join TK_Wrk_Man M on A.wo_code = M.wo_code
@@ -3984,12 +4004,17 @@
#endregion
#region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
- public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+ public static ToMessage ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
{
var dynamicParams = new DynamicParameters();
string search = "";
try
{
+ if (deptno != "" && deptno != null)
+ {
+ search += "and AA.dept_code=@deptno ";
+ dynamicParams.Add("@deptno", deptno);
+ }
if (saleordercode != "" && saleordercode != null)
{
search += "and AA.saleOrderCode like '%'+@saleordercode+'%' ";
@@ -4028,31 +4053,31 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select * from(
- select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
- A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
- E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style
- from TK_Wrk_Record A
- inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
- inner join TK_Wrk_Man M on S.wo_code=M.wo_code
- inner join TMateriel_Info P on M.materiel_code=P.partcode
- left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
- left join TSecStck K on P.idwarehouse=K.code
- left join TStep T on A.step_code=T.stepcode
- left join TOrganization O on M.wkshp_code=O.torg_code
- where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
- union all
- select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
- A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
- E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style
- from TK_Wrk_OutRecord A
- inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
- inner join TK_Wrk_Man M on S.wo_code=M.wo_code
- inner join TMateriel_Info P on M.materiel_code=P.partcode
- left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
- left join TSecStck K on P.idwarehouse=K.code
- left join TStep T on A.step_code=T.stepcode
- left join TOrganization O on M.wkshp_code=O.torg_code
- where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
+ select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+ A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
+ E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate
+ from TK_Wrk_Record A
+ inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+ inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+ inner join TMateriel_Info P on M.materiel_code=P.partcode
+ left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+ left join TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=K.code
+ left join TStep T on A.step_code=T.stepcode
+ left join TOrganization O on M.wkshp_code=O.torg_code
+ where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
+ union all
+ select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+ A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
+ E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate
+ from TK_Wrk_OutRecord A
+ inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+ inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+ inner join TMateriel_Info P on M.materiel_code=P.partcode
+ left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+ left join TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=K.code
+ left join TStep T on A.step_code=T.stepcode
+ left join TOrganization O on M.wkshp_code=O.torg_code
+ where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
) as AA where AA.good_qty>AA.inhouseqty " + search;
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
@@ -4091,7 +4116,7 @@
}
#endregion
- #region[鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
+ #region[閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
public static ToMessage DeptSelectData()
{
var sql = "";
@@ -4099,7 +4124,7 @@
string search = "";
try
{
- sql = @"select * from h_v_TFDepent";
+ sql = @"select * from h_v_T8Depent";
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
mes.message = "鏌ヨ鎴愬姛!";
@@ -4358,5 +4383,52 @@
return mes;
}
#endregion
+
+ #region[鐣呮嵎閫歍+鐢熶骇鍏ュ簱鎻愪氦-瀛樺偍杩囩▼鐗�(閫傜敤鍚屼竴鍙版湇鍔″櫒锛屽悓涓�涓暟鎹簱)]
+ public static ToMessage TProductInHouseOrderSpSeave(InReptModel data, User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀛樺偍杩囩▼鍚�
+ sql = @"h_p_IFCLD_TCloudInProductOrder";
+ dynamicParams.Add("@RecordMin", dbType: DbType.Object, value: data.TableData[0]);
+ dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: data.TableData[1]);
+ dynamicParams.Add("@rightcode", data.rightcode);
+ dynamicParams.Add("@incbit", data.incbit);
+ dynamicParams.Add("@username", us.usercode);
+ // 娣诲姞杈撳嚭鍙傛暟
+ dynamicParams.Add("@StatusCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
+ dynamicParams.Add("@Message", dbType: DbType.String, size: 255, direction: ParameterDirection.Output);
+ bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ var statusCode = dynamicParams.Get<int>("@StatusCode");
+ var message = dynamicParams.Get<string>("@Message");
+ if (a)
+ {
+ mes.code = statusCode.ToString();
+ mes.count = 0;
+ mes.message = message;
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = statusCode.ToString();
+ mes.count = 0;
+ mes.message = message;
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
}
--
Gitblit v1.9.3