| | |
| | | |
| | | namespace NewPdaSqlServer.service.Wom; |
| | | |
| | | public class WomdaaManager : Repository<Womdaa> |
| | | public class WomdaahbManager : Repository<Womdaa> |
| | | { |
| | | //当前类已经继承了 Repository 增、删、查、改的方法 |
| | | //这里面写的代码不会给覆盖,如果要重新生成请删除 WomdaaManager.cs |
| | |
| | | public List<string> GetProductionPickDaa001(WarehouseQuery query) |
| | | { |
| | | var sql = |
| | | "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB WHERE DAB006 > DAB007 GROUP BY DAB002) B ON A.GUID = B.daaGuid WHERE DAA001 = " + |
| | | query.daa001 + |
| | | " and DAA018 != '完工' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc"; |
| | | "SELECT DAAhb001 FROM WOMDAAhb A WHERE DAAHB001 = " + |
| | | query.hbNo + |
| | | " and FSTATUS=1 order by a.CREATE_DATE desc"; |
| | | |
| | | return Db.Ado.SqlQuery<string>(sql); |
| | | } |
| | |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); |
| | | if (query.daa001.IsNullOrEmpty()) throw new Exception("领料单号不允许为空"); |
| | | if (query.hbNo.IsNullOrEmpty()) throw new Exception("合并领料单号不允许为空"); |
| | | if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空"); |
| | | |
| | | using (var cmd = new SqlCommand("[prc_pda_SCLL]", conn)) |
| | | using (var cmd = new SqlCommand("[prc_pda_SCLLHB]", conn)) |
| | | { |
| | | try |
| | | { |
| | |
| | | new("@barcode_num", SqlDbType.NVarChar, 300), |
| | | new("@split_num", SqlDbType.NVarChar, 300), |
| | | new("@c_User", query.userName), |
| | | new("@p_biLL_no", query.daa001), |
| | | new("@p_biLL_no", query.hbNo), |
| | | new("@p_item_barcode", query.barcode) |
| | | }; |
| | | parameters[0].Direction = ParameterDirection.Output; |
| | |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | daa001 = query.daa001, |
| | | daa001 = query.hbNo, |
| | | barcodeNum = barcodeNum, |
| | | splitNum = splitNum, |
| | | barcode = query.barcode, |
| | |
| | | public ProductionPickDto ScanCodeCF(WarehouseQuery query) |
| | | { |
| | | if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空"); |
| | | if (query.daa001.IsNullOrEmpty()) throw new Exception("领料单号不允许为空"); |
| | | if (query.hbNo.IsNullOrEmpty()) throw new Exception("合并领料单号不允许为空"); |
| | | if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空"); |
| | | |
| | | if (query.Num is null or 0) throw new Exception("条码拆分数不允许为空或者为0"); |
| | |
| | | var _cfBar = "";//拆分后条码 |
| | | using (var conn = new SqlConnection(DbHelperSQL.strConn)) |
| | | { |
| | | using (var cmd = new SqlCommand("[prc_pda_SCLL_CF]", conn)) |
| | | using (var cmd = new SqlCommand("[prc_pda_SCLLHB_CF]", conn)) |
| | | { |
| | | try |
| | | { |
| | |
| | | new("@outSum", SqlDbType.NVarChar, 300), |
| | | new("@outCfBar", SqlDbType.NVarChar, 300), |
| | | new("@c_User", query.userName), |
| | | new("@p_biLL_no", query.daa001), |
| | | new("@p_biLL_no", query.hbNo), |
| | | new("@p_item_barcode", query.barcode), |
| | | new("@num", query.Num) |
| | | }; |
| | |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | daa001 = query.daa001, |
| | | daa001 = query.hbNo, |
| | | barcode = query.barcode,//原条码 |
| | | cfBarcode = _cfBar//拆分后条码 |
| | | }; |
| | |
| | | |
| | | private ProductionPickDto getDaa001(WarehouseQuery query) |
| | | { |
| | | if (string.IsNullOrEmpty(query.daa001)) throw new Exception("工单号为空"); |
| | | if (string.IsNullOrEmpty(query.hbNo)) throw new Exception("合并单号为空"); |
| | | |
| | | var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) => |
| | | new JoinQueryInfos(JoinType.Left, |
| | | a.Daa002 == i.ItemId.ToString())) |
| | | .Where((a, i) => a.Daa001 == query.daa001 |
| | | && a.Fstatus == 1) |
| | | .Select((a, i) => new |
| | | { |
| | | a.Daa001, a.CaaGuid |
| | | }).First(); |
| | | var queryResult = Db.Queryable<Womdaahb, Womdaa, MesItems>( |
| | | (b, a, i) => new JoinQueryInfos( |
| | | JoinType.Left, b.OrgId.ToString() == a.ErpSczz, // Womdaahb ↔ Womdaa 关联 |
| | | JoinType.Left, a.Daa002 == i.ItemId.ToString()) // Womdaa ↔ MesItems 关联 |
| | | ) |
| | | .Where((b, a, i) => |
| | | (b.Daah009 != null && a.Daa021 != null) && // 防止null异常 |
| | | ( |
| | | b.Daah009.Contains("," + a.Daa021 + ",") || // 匹配中间值 |
| | | b.Daah009.StartsWith(a.Daa021 + ",") || // 匹配开头值 |
| | | b.Daah009.EndsWith("," + a.Daa021) || // 匹配结尾值 |
| | | b.Daah009 == a.Daa021 // 完全匹配 |
| | | ) |
| | | ) |
| | | .Where((b, a, i) => b.Daahb001 == query.hbNo && b.Fstatus == 1) // 其他条件 |
| | | .Select((b, a, i) => new |
| | | { |
| | | b.Daahb001, |
| | | a.Daa001, // 工单号 |
| | | a.CaaGuid, // Womdaa 的 GUID |
| | | i.ItemName // MesItems 的字段 |
| | | }) |
| | | .First(); |
| | | |
| | | if (womdaa?.Daa001 == null) throw new Exception("工单号不存在"); |
| | | if (queryResult?.Daahb001 == null) throw new Exception("合并单号不存在"); |
| | | |
| | | //var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>( |
| | | // (a, b, c, d) => |
| | |
| | | // }) |
| | | // .ToList(); |
| | | |
| | | var sql =string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty , |
| | | dbo.F_QX_GETRECODEPOTSE(B.dab003,'','','') as RecoKw |
| | | FROM WOMDAB B |
| | | LEFT JOIN WOMDAA A ON A.guid = B.daaGuid |
| | | LEFT JOIN MES_ITEMS C ON B.dab003 = C.item_id |
| | | LEFT JOIN WOMCAB D ON B.erpid = D.ERPID |
| | | WHERE daa001 = '{0}' AND ISSUE_TYPE = 1 ORDER BY DAB002", query.daa001); |
| | | var sql =string.Format(@"SELECT max(ahb.GUID) as hbguid, |
| | | m.item_no as itemNo, |
| | | max(m.item_name) as itemName, |
| | | max(m.item_model) as itemModel, |
| | | sum(b.dab006) as FQty, |
| | | sum(b.dab007) as SQty, |
| | | sum(b.dab006) - sum(b.dab007) as DSQty, |
| | | sum(b.dab020) as slsl, |
| | | max(u.fname) as dw, |
| | | max(ahb.DAAHB001) as hbdh, |
| | | dbo.F_QX_GETRECODEPOTSE(MAX(B.DAB003),'','','') AS RecoKw |
| | | FROM WOMDAAHB ahb |
| | | left join WOMDAAHB_LIST ahbl on ahb.GUID = ahbl.MID |
| | | left join WOMDAA A on ahbl.PWORK_NO = a.daa021 and ahb.org_id = a.erp_sczz |
| | | left join WOMDAB b on b.daaGuid = a.guid |
| | | left join WOMCAA ca on a.caaGuid = ca.guid |
| | | LEFT JOIN WOMCAB D ON B.erpid = D.ERPID |
| | | LEFT JOIN MES_WORKSHOP_LINE WL ON WL.ID = A.DAA015 |
| | | left join mes_items m on M.ID = b.dab003 |
| | | left join MES_UNIT u on u.id = ahbl.UNIT |
| | | left join [dbo].[v_caa] v on v.guid = a.guid |
| | | WHERE ahb.daahb001 = '{0}' AND D.ISSUE_TYPE = 1 |
| | | group by m.item_no |
| | | ORDER BY m.item_no |
| | | ", query.hbNo); |
| | | |
| | | var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); |
| | | |
| | |
| | | }) |
| | | .ToList(); |
| | | |
| | | var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid) |
| | | var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == queryResult.CaaGuid) |
| | | .First(); |
| | | |
| | | if (womcaa == null) |
| | |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | daa001 = womdaa.Daa001, |
| | | PlanNo = womcaa.Caa020, |
| | | daa001 = queryResult.Daahb001, |
| | | //PlanNo = womcaa.Caa020, |
| | | items = DS_list, |
| | | Ysitems = YS_list |
| | | // yisao = mesInvItemOutCDetailsList |
| | |
| | | var sqlParams = new List<SugarParameter> { }; |
| | | |
| | | var sql2 = new StringBuilder(@" |
| | | SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021 |
| | | FROM WOMDAA |
| | | WHERE daa018 <>'W:完工'"); |
| | | SELECT daahb001 as daaInfo,daahb001 as daa001 |
| | | FROM WOMDAAHB |
| | | WHERE FSTATUS = 1 and COMPLETE_STATUS=0"); |
| | | |
| | | if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString())) |
| | | { |
| | | sqlParams.Add(new("@selectKey", unity.selectKey)); |
| | | sql2.Append(@" |
| | | AND (DAA001 LIKE '%' + @selectKey + '%' |
| | | OR DAA021 LIKE '%' + @selectKey + '%')"); |
| | | AND (DAAHB001 LIKE '%' + @selectKey + '%' "); |
| | | } |
| | | |
| | | var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); |