Controllers/Warehouse/MesItemQtrkController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Controllers/Wom/MesWorkProdController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Dto/service/ScanWorkResult.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
entity/MesItemQtrk.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
entity/MesItemQtrrDetail.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Warehouse/MesItemBlManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Warehouse/MesItemQtrkManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Warehouse/MesItemTblManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
service/Wom/MesWorkProdManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Controllers/Warehouse/MesItemQtrkController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,222 @@ using System.Dynamic; using Microsoft.AspNetCore.Mvc; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.service.Warehouse; using NewPdaSqlServer.util; namespace NewPdaSqlServer.Controllers.Warehouse; /// <summary> /// å ¶ä»å ¥åºç¸å ³æ¥å£ /// </summary> [Route("api/[controller]")] [ApiController] public class MesItemQtrkController : ControllerBase { private readonly MesItemQtrkManager _manager = new(); #region åºç¡CRUD /// <summary> /// è·åææ /// </summary> /// <returns>å ¶ä»å ¥åºåå表</returns> [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetList(); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®ä¸»é®è·å /// </summary> /// <returns>å ¶ä»å ¥åºåä¿¡æ¯</returns> [HttpPost("GetById")] public ResponseResult GetById(int id) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetById(id); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } #endregion #region å ¶ä»å ¥åºä¸å¡ /// <summary> /// è·åå ¶ä»å ¥åºåå·å表 /// </summary> /// <returns>å ¶ä»å ¥åºåå·å表</returns> /// <remarks> /// è·åç¶æä¸ºå·²å®¡æ ¸(Qt015=1)䏿ªå®ç»(Qt014=0)çå ¶ä»å ¥åºåå·å表 /// </remarks> /// <response code="200">æåè·åå ¥åºåå·å表</response> /// <response code="400">è·å失败</response> [HttpPost("GetQtckList")] public ResponseResult GetQtckList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetQtckList(); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// è·åå ¶ä»å ¥åºåæç»å表 /// </summary> /// <param name="query">æ¥è¯¢åæ°ï¼å¿ é¡»å å«billNo(å ¥åºåå·)</param> /// <returns>å ¥åºåæç»å表</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemQtrk/GetQtckDetailList /// { /// "billNo": "QT202401010001" /// } /// /// è¿åæªå®æå ¥åºçæç»è®°å½(Qd007-Qd008>0) /// </remarks> /// <response code="200">æåè·åå ¥åºåæç»</response> /// <response code="400">è·å失败ï¼è¿åå ·ä½é误信æ¯</response> [HttpPost("GetQtckDetailList")] public ResponseResult GetQtckDetailList([FromBody] WarehouseQuery query) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetQtckDetailList(query); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ«æåºä½ /// </summary> /// <param name="query">æ¥è¯¢åæ°</param> /// <returns>åºä½ä¿¡æ¯</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemQtrk/ScanInDepotsQT /// { /// "sectionCode": "A01-01-01", /// "billNo": "QT202401010001" /// } /// /// éªè¯åºä½æ¯å¦å±äºç³è¯·åæå®çä»åº /// </remarks> /// <response code="200">æ«ææå</response> /// <response code="400">æ«æå¤±è´¥ï¼è¿åå ·ä½é误信æ¯</response> [HttpPost("ScanInDepotsQT")] public ResponseResult ScanInDepotsQT([FromBody] WarehouseQuery query) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.message = _manager.ScanInDepotsQT(query); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ«ææ¡ç å ¥åº /// </summary> /// <param name="query">æ¥è¯¢åæ°</param> /// <returns>å ¥åºç»æåå¾ å¤çæç»</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemQtrk/ScanInBcodeQtrk /// { /// "userName": "admin", /// "sectionCode": "A01-01-01", /// "barcode": "BC001", /// "billNo": "QT202401010001" /// } /// /// - éªè¯æ¡ç æ¯å¦å·²å ¥åº /// - éªè¯æ¡ç æ¯å¦ä¸ºå ¶ä»å ¥åºæ¡ç /// - éªè¯å ¥åºæ°éæ¯å¦è¶ è¿ç³è¯·æ°é /// - æ§è¡å ¥åºäºå¡å¤ç /// </remarks> /// <response code="200">æ«ææå</response> /// <response code="400">æ«æå¤±è´¥ï¼è¿åå ·ä½é误信æ¯</response> [HttpPost("ScanInBcodeQtrk")] public ResponseResult ScanInBcodeQtrk([FromBody] WarehouseQuery query) { try { dynamic resultInfos = new ExpandoObject(); var (form, items) = _manager.ScanInBcodeQtrk(query); resultInfos.form = form; resultInfos.items = items; return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } #endregion } Controllers/Wom/MesWorkProdController.cs
@@ -8,7 +8,7 @@ namespace NewPdaSqlServer.Controllers.Wom; /// <summary> /// ç产æ¥å·¥ç¸å ³æ¥å£ /// ç产æ¥å·¥ç¸å ³æ¥å£ /// </summary> [Route("api/[controller]")] [ApiController] @@ -19,7 +19,7 @@ #region åºç¡CRUD /// <summary> /// è·åææ /// è·åææ /// </summary> /// <returns>æ¥å·¥åå表</returns> [HttpPost("GetList")] @@ -43,7 +43,7 @@ } /// <summary> /// æ ¹æ®ä¸»é®è·å /// æ ¹æ®ä¸»é®è·å /// </summary> /// <returns>æ¥å·¥åä¿¡æ¯</returns> [HttpPost("GetById")] @@ -67,7 +67,7 @@ } /// <summary> /// æ ¹æ®ä¸»é®å é¤ /// æ ¹æ®ä¸»é®å é¤ /// </summary> /// <returns>å é¤ç»æ</returns> [HttpPost("DeleteByIds")] @@ -91,7 +91,7 @@ } /// <summary> /// æ·»å /// æ·»å /// </summary> /// <returns>æ·»å ç»æ</returns> [HttpPost("Insert")] @@ -115,7 +115,7 @@ } /// <summary> /// ä¿®æ¹ /// ä¿®æ¹ /// </summary> /// <returns>ä¿®æ¹ç»æ</returns> [HttpPost("Update")] @@ -143,18 +143,17 @@ #region ç产æ¥å·¥ /// <summary> /// PDAæ«æç产æ¥å·¥ /// PDAæ«æç产æ¥å·¥ /// </summary> /// <param name="request">æ¥å·¥è¯·æ±åæ°</param> /// <returns>æ¥å·¥ç»æ</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// 请æ±ç¤ºä¾: /// POST /api/MesWorkProd/ScanWork /// { /// "staffNo": "ST001", /// "itemBarcode": "BC001", /// "userNo": "admin" /// "staffNo": "ST001", /// "itemBarcode": "BC001", /// "userNo": "admin" /// } /// </remarks> /// <response code="200">æ«ææå</response> @@ -180,18 +179,17 @@ } /// <summary> /// PDAæ«æç产æ¥å·¥(带æ°é) /// PDAæ«æç产æ¥å·¥(带æ°é) /// </summary> /// <param name="request">æ¥å·¥è¯·æ±åæ°</param> /// <returns>æ¥å·¥ç»æ</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// 请æ±ç¤ºä¾: /// POST /api/MesWorkProd/ScanWorkProd /// { /// "itemBarcode": "BC001", /// "quantity": 10, /// "userNo": "admin" /// "itemBarcode": "BC001", /// "quantity": 10, /// "userNo": "admin" /// } /// </remarks> /// <response code="200">æ«ææå</response> Dto/service/ScanWorkResult.cs
@@ -1,8 +1,7 @@ namespace NewPdaSqlServer.Dto.service; /// <summary> /// ç产æ¥å·¥æ«æç»æ /// ç产æ¥å·¥æ«æç»æ /// </summary> public class ScanWorkResult { entity/MesItemQtrk.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,144 @@ using SqlSugar; namespace NewPdaSqlServer.entity; /// <summary> /// å ¶ä»å ¥åºç³è¯· /// </summary> [SugarTable("MES_ITEM_QTRK")] public class MesItemQtrk { /// <summary> /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// ç³è¯·åå· /// </summary> [SugarColumn(ColumnName = "qtck")] public string? Qtck { get; set; } /// <summary> /// ç³è¯·æ¥æ /// </summary> [SugarColumn(ColumnName = "qt001")] public DateTime? Qt001 { get; set; } /// <summary> /// å®¡æ ¸æ¥æ /// </summary> [SugarColumn(ColumnName = "qt002")] public DateTime? Qt002 { get; set; } /// <summary> /// å ¥åºç±»å« /// </summary> [SugarColumn(ColumnName = "qt003")] public string? Qt003 { get; set; } /// <summary> /// ä¸å¡ç±»å /// </summary> [SugarColumn(ColumnName = "qt004")] public string? Qt004 { get; set; } /// <summary> /// å¶å人 /// </summary> [SugarColumn(ColumnName = "qt005")] public string? Qt005 { get; set; } /// <summary> /// ç产工å /// </summary> [SugarColumn(ColumnName = "qt006")] public string? Qt006 { get; set; } /// <summary> /// åæä»åºid /// </summary> [SugarColumn(ColumnName = "qt008")] public string? Qt008 { get; set; } /// <summary> /// ç³è¯·é¨é¨id /// </summary> [SugarColumn(ColumnName = "qt009")] public string? Qt009 { get; set; } /// <summary> /// å ¥åºåå /// </summary> [SugarColumn(ColumnName = "qt010")] public string? Qt010 { get; set; } /// <summary> /// ä»åºç¼ç /// </summary> [SugarColumn(ColumnName = "qt011")] public string? Qt011 { get; set; } /// <summary> /// é¨é¨ç¼ç /// </summary> [SugarColumn(ColumnName = "qt012")] public string? Qt012 { get; set; } /// <summary> /// æ°é /// </summary> [SugarColumn(ColumnName = "qt013")] public int? Qt013 { get; set; } /// <summary> /// å®ç»æ è¯ /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "qt014")] public int? Qt014 { get; set; } /// <summary> /// å®¡æ ¸ç¶æ /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "qt015")] public int? Qt015 { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> [SugarColumn(ColumnName = "qt016")] public string? Qt016 { get; set; } /// <summary> /// ä»»å¡åå· /// </summary> [SugarColumn(ColumnName = "qt017")] public string? Qt017 { get; set; } /// <summary> /// ä¾åºåid /// </summary> [SugarColumn(ColumnName = "qt018")] public string? Qt018 { get; set; } /// <summary> /// å ¥åºæ¹åï¼éè´§ï¼æ®éï¼ /// </summary> [SugarColumn(ColumnName = "qt019")] public string? Qt019 { get; set; } /// <summary> /// å ¥åºç±»å 1çç 2æ¨¡å · 3è¾ å© 4ææ · 5åæ 6éè´ /// </summary> [SugarColumn(ColumnName = "qt020")] public string? Qt020 { get; set; } /// <summary> /// éå®è®¢åå· /// </summary> [SugarColumn(ColumnName = "qt021")] public string? Qt021 { get; set; } } entity/MesItemQtrrDetail.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,124 @@ using SqlSugar; namespace NewPdaSqlServer.entity; /// <summary> /// </summary> [SugarTable("MES_ITEM_QTRR_DETAIL")] public class MesItemQtrrDetail { /// <summary> /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// 主表guid /// </summary> [SugarColumn(ColumnName = "qtrkGuid")] public Guid? QtrkGuid { get; set; } /// <summary> /// å·¥åå· /// </summary> [SugarColumn(ColumnName = "qd001")] public string? Qd001 { get; set; } /// <summary> /// ç©æç¼å· /// </summary> [SugarColumn(ColumnName = "qd002")] public string? Qd002 { get; set; } /// <summary> /// ç©æåç§° /// </summary> [SugarColumn(ColumnName = "qd003")] public string? Qd003 { get; set; } /// <summary> /// è§æ ¼åå· /// </summary> [SugarColumn(ColumnName = "qd004")] public string? Qd004 { get; set; } /// <summary> /// é¢è² /// </summary> [SugarColumn(ColumnName = "qd005")] public string? Qd005 { get; set; } /// <summary> /// è®¡åæ°é /// </summary> [SugarColumn(ColumnName = "qd006")] public int? Qd006 { get; set; } /// <summary> /// ç³è¯·æ°é /// </summary> [SugarColumn(ColumnName = "qd007")] public int? Qd007 { get; set; } /// <summary> /// å·²å ¥æ°é /// </summary> [SugarColumn(ColumnName = "qd008")] public int? Qd008 { get; set; } /// <summary> /// åä½ /// </summary> [SugarColumn(ColumnName = "qd009")] public string? Qd009 { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(ColumnName = "qd010")] public string? Qd010 { get; set; } /// <summary> /// å®ç»æ è¯ /// </summary> [SugarColumn(ColumnName = "qd011")] public int? Qd011 { get; set; } /// <summary> /// ç©æID /// </summary> [SugarColumn(ColumnName = "itemId")] public string? ItemId { get; set; } /// <summary> /// YDYNUM /// </summary> [SugarColumn(ColumnName = "YDYNUM")] public string? Ydynum { get; set; } /// <summary> /// 坿尿°é /// </summary> [SugarColumn(ColumnName = "KDYNUM")] public string? Kdynum { get; set; } /// <summary> /// ç³è¯·åå· /// </summary> [SugarColumn(IsIgnore = true)] public string? Qtck { get; set; } /// <summary> /// ç©æç¼ç = ERPç©æç¼å·||é¢è²ç¼å· /// </summary> [SugarColumn(IsIgnore = true)] public string? ItemNo { get; set; } /// <summary> /// ç©æåç§° /// </summary> [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; } } service/Warehouse/MesItemBlManager.cs
@@ -186,7 +186,7 @@ { // è·åæå建åºåºå var outId = Guid.NewGuid(); var outNo = BillNo.GetBillNo("SCBL"); var outNo = BillNo.GetBillNo("BL(å·¥åè¡¥æ)"); var existingOut = db.Queryable<MesInvItemOuts>() .Where(a => a.BbillNo == query.blNo @@ -239,7 +239,6 @@ .Count(); if (itemCount > 0) { // æ´æ°å·²åå¨çç©ææç»æ°é db.Updateable<MesInvItemOutItems>() .SetColumns(i => @@ -247,9 +246,7 @@ .Where(i => i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId) .ExecuteCommand(); } else { // æå ¥æ°çç©ææç»è®°å½ db.Insertable(new MesInvItemOutItems { @@ -275,8 +272,7 @@ // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } // æå ¥åºåºåæ¡ç æç» db.Insertable(new MesInvItemOutCDetails { @@ -682,7 +678,7 @@ { // å建æ°çåºåºå var outId = Guid.NewGuid(); var outNo = BillNo.GetBillNo("SCBL"); var outNo = BillNo.GetBillNo("BL(å·¥åè¡¥æ)"); // æå ¥åºåºå主表 executeCommand += db.Insertable(new MesInvItemOuts @@ -911,8 +907,9 @@ /// </summary> /// <param name="query">æ¥è¯¢åæ°</param> /// <returns>çäº§è¶ é¢åæç»å表</returns> public (string bl001,List<MesItemBlDetail> item) GetMesItemBlDetailBySccBillNo( WarehouseQuery query) public (string bl001, List<MesItemBlDetail> item) GetMesItemBlDetailBySccBillNo( WarehouseQuery query) { if (string.IsNullOrEmpty(query.billNo)) throw new Exception("请éåæ®å·ï¼"); @@ -959,7 +956,7 @@ }) .ToList(); return (mesItemBl.Bl001,pendingDetails); return (mesItemBl.Bl001, pendingDetails); } /// <summary> @@ -1113,7 +1110,7 @@ if (outRecord == null) { outId = Guid.NewGuid(); outNo = BillNo.GetBillNo("SCBL"); // éè¦å®ç°çæåå·çæ¹æ³ outNo = BillNo.GetBillNo("BL(å·¥åè¡¥æ)"); // éè¦å®ç°çæåå·çæ¹æ³ // æå ¥åºåºå主表 db.Insertable(new MesInvItemOuts @@ -1517,7 +1514,7 @@ itemOut = new MesInvItemOuts { Guid = Guid.NewGuid(), ItemOutNo = BillNo.GetBillNo("SCBL"), // éè¦å®ç°çæåå·çæ¹æ³ ItemOutNo = BillNo.GetBillNo("BL(å·¥åè¡¥æ)"), // éè¦å®ç°çæåå·çæ¹æ³ TaskNo = query.blNo, CreateBy = query.userName, CreateDate = DateTime.Now, service/Warehouse/MesItemQtrkManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,473 @@ using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.util; using SqlSugar; namespace NewPdaSqlServer.service.Warehouse; public class MesItemQtrkManager : Repository<MesItemQtrk> { public List<string> GetQtckList() { return Db.Queryable<MesItemQtrk>() .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) .Select(x => x.Qtck) .ToList(); } public List<MesItemQtrrDetail> GetQtckDetailList(WarehouseQuery query) { // 1. éªè¯ç³è¯·åæ¯å¦åå¨ var qtrk = Db.Queryable<MesItemQtrk>() .Where(x => x.Qtck == query.billNo) .First(); if (qtrk == null) throw new Exception($"æªæ¥è¯¢å°æ¤å ¶ä»å ¥åºç³è¯·å {query.billNo}"); // 2. éªè¯ç³è¯·åç¶æ if (qtrk.Qt015 != 1) throw new Exception($"å ¶ä»å ¥åºç³è¯·å {query.billNo} æªå®¡æ ¸ï¼è¯·ç¡®è®¤ï¼"); if (qtrk.Qt014 == 1) throw new Exception($"å ¶ä»å ¥åºç³è¯·å {query.billNo} å·²å®ç»ï¼è¯·ç¡®è®¤ï¼"); // 3. æ¥è¯¢ç³è¯·åæç» var details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>( (a, b, c) => new JoinQueryInfos( JoinType.Left, a.Guid == b.QtrkGuid, JoinType.Left, c.Id.ToString() == b.ItemId)) .Where((a, b, c) => a.Qtck == query.billNo && (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0) .OrderBy((a, b, c) => b.Qd002) .Select((a, b, c) => new MesItemQtrrDetail { Qtck = a.Qtck, ItemNo = c.ItemNo, ItemName = c.ItemName, Qd007 = b.Qd007 ?? 0, Qd008 = b.Qd008 ?? 0 }) .ToList(); return details; } public String ScanInDepotsQT(WarehouseQuery query) { var sectionCode = query.sectionCode; var billNo = query.billNo; // 1. éªè¯åºä½æ¡ç æ¯å¦ä¸ºç©º if (string.IsNullOrEmpty(sectionCode)) { throw new Exception("请æ«åºä½æ¡ç ï¼"); } // 2. æ¥è¯¢åºä½å¯¹åºçä»åºç¼ç var depotCode = Db.Queryable<MesDepotSections, MesDepots>( (a, b) => new JoinQueryInfos( JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == sectionCode) .Select((a, b) => b.DepotCode) .First(); if (depotCode == null) { throw new Exception($"åºä½ç¼ç {sectionCode} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); } // 3. æ¥è¯¢ç³è¯·å对åºçä»åº var qtrk = Db.Queryable<MesItemQtrk>() .Where(x => x.Qtck == billNo) .Select(x => x.Qt011) .First(); if (qtrk == null) { throw new Exception($"åºä½ç¼ç {sectionCode} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); } // 4. éªè¯åºä½æ¯å¦å±äºç³è¯·ä»åº if (depotCode != qtrk) { throw new Exception($"æ«ç åºä½ {sectionCode} ä¸å±äºç³è¯·æ¤ä»åº!"); } // 5. è¿åæåä¿¡æ¯ return $"ä»åºï¼{qtrk} åºä½ï¼{sectionCode}"; } public (WarehouseQuery form, List<MesItemQtrrDetail> item) ScanInBcodeQtrk(WarehouseQuery query) { var c_user = query.userName; var p_section_code = query.sectionCode; var p_item_barcode = query.barcode; var p_bill_no = query.billNo; var billTypeId = 100; var transactionNo = 102; // 1. éªè¯åºä½æ¡ç æ¯å¦ä¸ºç©º if (string.IsNullOrEmpty(p_section_code)) { throw new Exception("请æ«åºä½æ¡ç ï¼"); } // 2. æ¥è¯¢åºä½å¯¹åºçä»åºç¼ç åä»åºID var depotInfo = Db.Queryable<MesDepotSections, MesDepots>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => new { b.DepotCode, b.DepotId }) .First(); if (depotInfo == null) { throw new Exception($"åºä½ç¼ç {p_section_code} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); } var c_depot_code = depotInfo.DepotCode; var c_depot_id = depotInfo.DepotId; // 3. éªè¯æ¡ç æ¯å¦å·²å ¥åº var existsInStock = Db.Queryable<MesInvItemInCDetails>() .Any(x => x.ItemBarcode == p_item_barcode); if (existsInStock) { throw new Exception("æ¤æ¡ç å·²æ«ç å ¥åºå®æ,è¯·æ ¸å¯¹ï¼"); } // 4. æ¥è¯¢æ¡ç ä¿¡æ¯ var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(x => x.ItemBarcode == p_item_barcode) .First(); if (barcode == null) { throw new Exception("æ¡ç ä¸åå¨,è¯·æ ¸å¯¹ï¼"); } if (barcode.ComeFlg != 3) { throw new Exception("æ¡ç 䏿¯å ¶ä»å ¥åºæ¡ç ,æ æ³ç¨å ¶ä»å ¥åºï¼"); } // éªè¯æ¡ç æ¯å¦å·²å¨åºåä¸ var stockCount = Db.Queryable<MesInvItemStocks>() .Where(x => x.ItemBarcode == p_item_barcode) .Count(); if (stockCount > 0) { throw new Exception("æ¤æ¡ç å·²æ«ç å ¥åºå®æ,è¯·æ ¸å¯¹ï¼"); } // 5. æ¥è¯¢å ¶ä»å ¥åºç³è¯·å var qtrk = Db.Queryable<MesItemQtrk>() .Where(x => x.Qtck == p_bill_no) .First(); if (qtrk == null) { throw new Exception("å ¶ä»å ¥åºç³è¯·åä¸åå¨ï¼"); } // 6. æ¥è¯¢ç³è¯·åæç» var detail = Db.Queryable<MesItemQtrrDetail>() .Where(x => x.QtrkGuid == qtrk.Guid && x.ItemId == barcode.ItemId.ToString()) .First(); if (detail == null) { throw new Exception($"å ¶ä»å ¥åºç³è¯·å{p_bill_no}æ æ¤ç©æ{barcode.ItemNo} è¯·æ ¸å¯¹ï¼"); } // 7. éªè¯æ°é if (barcode.Quantity > (detail.Qd007 ?? 0) - (detail.Qd008 ?? 0)) { throw new Exception("æ¡ç æ°éè¶ è¿ç³è¯·æ°é,è¯·æ ¸å¯¹ï¼"); } var details = new List<MesItemQtrrDetail>(); // 8. æ§è¡å ¥åºäºå¡ UseTransaction(db => { var res = 0; // æ¥è¯¢æ¯å¦å卿ªå ¥åºçå ¥åºå var existingInv = db.Queryable<MesInvItemIns>() .Where(x => x.Status == 0 && x.TransctionNo == transactionNo.ToString() && x.CbillNo == p_bill_no && x.SuppNo == barcode.SuppNo // && x.DepotsCode == c_depot_code) && x.DepotsId == c_depot_id) .First(); var newId = Guid.Empty; var billNo = ""; // 妿ä¸åå¨åå建æ°å ¥åºå if (existingInv == null) { newId = Guid.NewGuid(); billNo = BillNo.GetBillNo("INV_IN_OTHER"); barcode.UrgentFlag ??= false; res += db.Insertable(new MesInvItemIns { Guid = newId, BillNo = billNo, BillTypeId = billTypeId, InsDate = DateTime.Now, DepotsCode = c_depot_code, TransctionNo = transactionNo.ToString(), SuppNo = barcode.SuppNo, CreateBy = c_user, CreateDate = DateTime.Now, LastupdateBy = c_user, LastupdateDate = DateTime.Now, UrgentFlag = barcode.UrgentFlag.Value ? (byte)1 : (byte)0, CbillNo = p_bill_no, Fstatus = 0, Status = 0, Reason = qtrk.Qt010 }).IgnoreColumns(true).ExecuteCommand(); } else { newId = existingInv.Guid; billNo = existingInv.BillNo; } // æ¥è¯¢æ¯å¦åå¨ç¸åç©æåå·¥åè¡çå ¥åºæç» var existingItem = db.Queryable<MesInvItemInCItems>() .Where(x => x.ItemInId == newId && x.ItemId == barcode.ItemId && x.WorkNo == barcode.WorkNo && x.WorkLine == barcode.WorkLine) .First(); if (existingItem == null) { // ä¸åå¨åæ°å¢å ¥åºæç» res += db.Insertable(new MesInvItemInCItems { Guid = Guid.NewGuid(), ItemInId = newId, Quantity = barcode.Quantity, CreateBy = c_user, CreateDate = DateTime.Now, ItemNo = barcode.ItemNo, DepotCode = c_depot_code, ItemSname = barcode.ItemSname, Unit = barcode.Unit, Ebeln = barcode.WorkNo, BillNo = billNo, Factory = barcode.Factory, Company = barcode.Company, WorkNo = barcode.WorkNo, EbelnLineNo = barcode.WorkLine, CbillNo = barcode.BillNo, WorkLine = barcode.WorkLine, SuppNo = barcode.SuppNo, Remark = barcode.Memo, EbelnK3id = barcode.EbelnK3id, LineK3id = barcode.LineK3id, ItemId = barcode.ItemId }).IgnoreColumns(true).ExecuteCommand(); } else { // åå¨åæ´æ°æ°é res += db.Updateable<MesInvItemInCItems>() .SetColumns( x => x.Quantity == x.Quantity + barcode.Quantity) .Where(x => x.ItemInId == newId && x.ItemId == barcode.ItemId && x.WorkNo == barcode.WorkNo && x.WorkLine == barcode.WorkLine) .ExecuteCommand(); } // æå ¥å ¥åºæç»è®°å½ res += db.Insertable(new MesInvItemInCDetails { ItemInId = newId, BillNo = billNo, ItemBarcode = barcode.ItemBarcode, Quantity = barcode.Quantity, BarcodeFlag = true, EpFlag = true, WorkType = 1, ItemNo = barcode.ItemNo, LotNo = barcode.LotNo, SuppId = barcode.SuppId, SuppNo = barcode.SuppNo, DepotId = c_depot_id, DepotCode = c_depot_code, DepotSectionCode = p_section_code, ItemSname = barcode.ItemSname, Unit = barcode.Unit, CreateBy = c_user, CreateDate = DateTime.Now, LastupdateBy = c_user, LastupdateDate = DateTime.Now, Remark = barcode.Memo, Factory = barcode.Factory, Company = barcode.Company, Ebeln = barcode.Mblnr, EbelnLineNo = barcode.Zeile, WorkNo = barcode.WorkNo, WorkLine = barcode.WorkLine, CbillNo = barcode.BillNo, UrgentFlag = barcode.UrgentFlag, BoardStyle = barcode.BoardStyle, TaskNo = barcode.TaskNo, EbelnK3id = barcode.EbelnK3id, LineK3id = barcode.LineK3id, ItemId = barcode.ItemId, Ischeck = true }).IgnoreColumns(true).ExecuteCommand(); // æå ¥åºåä¸å¡æµæ°´è®°å½ res += db.Insertable(new MesInvBusiness2 { Guid = Guid.NewGuid(), Status = 1, BillTypeId = billTypeId, TransactionCode = transactionNo.ToString(), BusinessType = 1, ItemBarcode = barcode.ItemBarcode, ItemNo = barcode.ItemNo, LotNo = barcode.LotNo, EpFlag = true, Quantity = barcode.Quantity, InvDepotId = c_depot_id, ToInvDepotsCode = c_depot_code, ToInvDepotSectionsCode = p_section_code, Description = "å ¶ä»å ¥åº", CreateBy = c_user, CreateDate = DateTime.Now, LastupdateBy = c_user, LastupdateDate = DateTime.Now, TaskNo = barcode.BillNo, BillNo = billNo, WorkNo = barcode.WorkNo, WorkLine = barcode.WorkLine, SuppId = barcode.SuppId, SuppNo = barcode.SuppNo, EbelnK3id = barcode.EbelnK3id, LineK3id = barcode.LineK3id, ItemId = barcode.ItemId, // SalesOrder = barcode.SalesOrder, // IsZy = barcode.IsZy, // OuterBarcode = barcode.OuterBarcode }).IgnoreColumns(true).ExecuteCommand(); barcode.EpFlag ??= false; // æå ¥åºåè®°å½ res += db.Insertable(new MesInvItemStocks { TaskNo = barcode.TaskNo, ItemBarcode = p_item_barcode, ItemNo = barcode.ItemNo, LotNo = barcode.LotNo, Quantity = barcode.Quantity, EpFlag = barcode.EpFlag.Value ? (byte)1 : (byte)0, DepotId = c_depot_id, DepotsCode = c_depot_code, DepotSectionsCode = p_section_code, CheckDate = DateTime.Now, IndepDate = DateTime.Now, Factory = barcode.Factory, Company = barcode.Company, BoardStyle = barcode.BoardStyle, WorkNo = barcode.WorkNo, WorkLine = barcode.WorkLine, SuppId = barcode.SuppId, SuppNo = barcode.SuppNo, EbelnK3id = barcode.EbelnK3id, LineK3id = barcode.LineK3id, ItemId = barcode.ItemId, BillNo = barcode.BillNo, // SalesOrder = barcode.SalesOrder, // IsZy = barcode.IsZy, // Visable = 0, // OuterBarcode = barcode.OuterBarcode }).IgnoreColumns(true).ExecuteCommand(); // æ´æ°æ¡ç å ¥åºæ å¿ // db.Updateable<MesInvItemBarcodes>() // .SetColumns(x => x.rkf == 1) // .Where(x => x.ItemBarcode == p_item_barcode) // .ExecuteCommand(); // æ´æ°ç³è¯·åæç»å·²å ¥åºæ°é res += db.Updateable<MesItemQtrrDetail>() .SetColumns(x => x.Qd008 == (x.Qd008 ?? 0) + barcode.Quantity) .Where(x => x.Guid == barcode.Guid) .ExecuteCommand(); // æ£æ¥æ¯å¦å®å ¨å ¥åºå¹¶æ´æ°ç¶æ var detail1 = db.Queryable<MesItemQtrrDetail>() .Where(x => x.Guid == detail.Guid) .First(); if ((detail1.Qd007 ?? 0) - (detail1.Qd008 ?? 0) == barcode.Quantity) { res += db.Updateable<MesItemQtrrDetail>() .SetColumns(x => x.Qd011 == 1) .Where(x => x.Guid == detail1.Guid) .ExecuteCommand(); } details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>( (a, b, c) => new JoinQueryInfos( JoinType.Left, a.Guid == b.QtrkGuid, JoinType.Left, c.Id.ToString() == b.ItemId)) .Where((a, b, c) => a.Qtck == p_bill_no && (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0) .OrderBy((a, b, c) => b.Qd002) .Select((a, b, c) => new MesItemQtrrDetail { Qtck = a.Qtck, ItemNo = c.ItemNo, ItemName = c.ItemName, Qd007 = b.Qd007 ?? 0, Qd008 = b.Qd008 ?? 0 }) .ToList(); if (CollectionUtil.IsNullOrEmpty(details)) { res += db.Updateable<MesItemQtrk>() .SetColumns(s => s.Qt014 == 1) .Where(x => x.Qtck == p_bill_no) .ExecuteCommand(); } if (res < 5) { throw new Exception("æå ¥ææ´æ°å¤±è´¥"); } return res; }); query.itemNo = barcode.ItemNo; query.Num = barcode.Quantity; return (query, details); } // End of Selection } service/Warehouse/MesItemTblManager.cs
@@ -406,7 +406,7 @@ return totalResult; }); query.itemNo = c_mes_inv_item_barcodes.ItemNo; query.Num = c_quantity.Value; return query; service/Wom/MesWorkProdManager.cs
@@ -11,49 +11,76 @@ //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ /// <summary> /// PDAæ«æç产æ¥å·¥ /// PDAæ«æç产æ¥å·¥ /// </summary> /// <param name="request"> /// æ¥å·¥è¯·æ±åæ°ï¼å å«: /// - StaffNo: å工工å·ï¼å¿ å¡« /// - ItemBarcode: ç©ææ¡ç ï¼å¿ å¡« /// - UserNo: æä½ç¨æ·è´¦å·ï¼å¿ å¡« /// </param> /// <returns> /// è¿åæ¥å·¥ç»æå¯¹è±¡ï¼å å«: /// - TaskNo: å·¥åå· /// - ItemNo: ç©æç¼å· /// - PlanQty: è®¡åæ°é /// - ReportedQty: å·²æ¥å·¥æ°é /// - CurrentQty: æ¬æ¬¡æ¥å·¥æ°é /// - BarcodeQty: æ¡ç æ°é /// - ItemName: ç©æåç§° /// - ItemModel: ç©æåå· /// - Message: å¤çç»ææ¶æ¯ /// </returns> /// <exception cref="Exception"> /// - å½åå·¥ä¸å卿¶æåºå¼å¸¸ /// - 彿¡ç ä¸å卿¶æåºå¼å¸¸ /// - å½ç©æä¸å卿¶æåºå¼å¸¸ /// - 彿¡ç é夿«ææ¶æåºå¼å¸¸ /// - å½å·¥åä¸å卿¶æåºå¼å¸¸ /// - 彿¥å·¥æ°éå°äºçäº0æ¶æåºå¼å¸¸ /// - 彿¥å·¥æ»æ°éè¶ è¿è®¡åæ°éæ¶æåºå¼å¸¸ /// </exception> public ScanWorkResult ScanWorkAsync(ScanWorkRequest request) { // æ¥è¯¢äººåä¿¡æ¯ // 1. éªè¯åå·¥ä¿¡æ¯ var staff = Db.Queryable<MesStaff>() .Where(x => x.StaffNo == request.StaffNo) .First(); if (staff == null) throw new Exception("请å éæ©äººå"); // æ¥è¯¢æ¡ç ä¿¡æ¯ // 2. éªè¯æ¡ç ä¿¡æ¯ var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(x => x.ItemBarcode == request.ItemBarcode) .First(); if (barcode == null) throw new Exception($"æ æ¤æ¡ç ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // æ¥è¯¢ç©æä¿¡æ¯ // 3. éªè¯ç©æä¿¡æ¯ var item = Db.Queryable<MesItems>() .Where(x => x.Id == barcode.ItemId) .First(); if (item == null) throw new Exception($"æ æ¤ç©æï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // ç¡®å®åæ®ç±»å int billTypeId = 900; int transactionNo = 902; // 4. æ ¹æ®æ¡ç 夿³¨ç¡®å®åæ®ç±»åå交æå· var billTypeId = 900; // é»è®¤åæ®ç±»å var transactionNo = 902; // é»è®¤äº¤æå· switch (barcode.Memo?.Trim() ?? "0") { case "ä¸å°": transactionNo = 901; transactionNo = 901; // ä¸å°å·¥åº break; case "åæå": transactionNo = 902; transactionNo = 902; // åæåå·¥åº break; case "å è£ ": case "æå": transactionNo = 903; transactionNo = 903; // æå/å è£ å·¥åº break; } // æ£æ¥æ¡ç æ¯å¦é夿«æ // 5. æ£æ¥æ¡ç æ¯å¦é夿«æ var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, @@ -66,7 +93,7 @@ if (exists) throw new Exception("æ¡ç é夿«æï¼è¯·æ ¸å¯¹ï¼"); // è·åå·²æ¥å·¥æ°é // 6. è·åå·²æ¥å·¥æ°é var reportedQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, @@ -76,7 +103,7 @@ && a.TaskNo == barcode.BillNo) .Sum((a, b) => b.Quantity); // è·åå·¥åè®¡åæ°éååå· // 7. è·åå·¥åè®¡åæ°éååå· var workOrder = Db.Queryable<Womdaa>() .Where(x => x.Daa001 == barcode.BillNo) .First(); @@ -86,9 +113,10 @@ var planQty = workOrder.Daa008; var itemModel = workOrder.Daa004; // 8. 使ç¨äºå¡å¤çæ¥å·¥æ°æ® UseTransaction(db => { // ææ°éæ¡ç èªå¨æ¥å·¥ // 9. å¤çææ°éæ¡ç çèªå¨æ¥å·¥ if (barcode.Quantity > 0) { var reportQty = barcode.Quantity; @@ -101,7 +129,7 @@ throw new Exception( $"æ¬æ¬¡æ¥å·¥æ°éï¼{reportQty} 大äºå©ä½æ¥å·¥æ°éï¼{workOrder.Daa008 - reportedQty ?? 0}ï¼è¯·æ ¸å¯¹ï¼"); // æ´æ°æ¡ç ç¶æ // 10. æ´æ°æ¡ç ç¶æ db.Updateable<MesInvItemBarcodes>() .SetColumns(x => new MesInvItemBarcodes { @@ -111,7 +139,7 @@ .Where(x => x.Guid == barcode.Guid) .ExecuteCommandAsync(); // è·åæå建æ¥å·¥å // 11. è·åæå建æ¥å·¥å var workProd = db.Queryable<MesWorkProd>() .Where(x => x.TaskNo == barcode.BillNo && x.CreateDate.Value.Date.ToString( @@ -125,7 +153,7 @@ if (workProd == null) { var id = Guid.NewGuid(); var billNo = BillNo.GetBillNo("MES_WORK"); var billNo = BillNo.GetBillNo("BG(æ¥å·¥ç¼å·)"); workProd = new MesWorkProd { @@ -147,7 +175,7 @@ .ExecuteCommand(); } // æå ¥æ¥å·¥æç» // 12. æå ¥æ¥å·¥æç» var detailId = Guid.NewGuid(); db.Insertable(new MesWorkProdCDetails { @@ -169,7 +197,7 @@ BgYg = staff.Id }).IgnoreColumns(true).ExecuteCommand(); // æ´æ°å·¥åå·²æ¥å·¥æ°é // 13. æ´æ°å·¥åå·²æ¥å·¥æ°é db.Updateable<Womdaa>() .SetColumns(x => x.Daa011 == (x.Daa011 ?? 0) + (int)barcode.Quantity @@ -177,7 +205,7 @@ .Where(x => x.Daa001 == barcode.BillNo) .ExecuteCommandAsync(); // éæ°è·åå·²æ¥å·¥æ°é // 14. éæ°è·åææ°å·²æ¥å·¥æ°é reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, @@ -191,6 +219,7 @@ return 1; }); // 15. è¿åå¤çç»æ return new ScanWorkResult { TaskNo = barcode.TaskNo, @@ -207,45 +236,59 @@ /// <summary> /// PDAæ«æç产æ¥å·¥ prc_rf_pda_scan_work_prod /// PDAæ«æç产æ¥å·¥ prc_rf_pda_scan_work_prod /// </summary> /// <param name="request"> /// æ¥å·¥è¯·æ±åæ°ï¼å å«: /// - ItemBarcode: ç©ææ¡ç ï¼å¿ å¡« /// - Quantity: æ¥å·¥æ°éï¼å¿ å¡«ä¸å¤§äº0 /// - UserNo: æä½ç¨æ·è´¦å·ï¼å¿ å¡« /// </param> /// <returns>è¿åå¸å°å¼ï¼true表示æ¥å·¥æåï¼false表示æ¥å·¥å¤±è´¥</returns> /// <exception cref="Exception"> /// - 彿¥å·¥æ°éå°äºçäº0æ¶æåºå¼å¸¸ /// - 彿¡ç ä¸å卿¶æåºå¼å¸¸ /// - å½å·¥åä¸å卿¶æåºå¼å¸¸ /// - 彿¥å·¥æ»æ°éè¶ è¿è®¡åæ°éæ¶æåºå¼å¸¸ /// </exception> public bool ScanWorkProdAsync(ScanWorkRequest request) { // 1. éªè¯æ¥å·¥æ°éæ¯å¦å¤§äº0 if (request.Quantity <= 0) throw new Exception("æ¥å·¥æ°éä¸è½å°äºçäº 0ï¼è¯·æ ¸å¯¹ï¼"); // æ¥è¯¢æ¡ç ä¿¡æ¯ // 2. æ¥è¯¢æ¡ç ä¿¡æ¯ï¼éªè¯æ¡ç æ¯å¦åå¨ var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(x => x.ItemBarcode == request.ItemBarcode) .First(); if (barcode == null) throw new Exception($"åºå䏿 æ¤æ¡ç ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // æ¥è¯¢å·¥åä¿¡æ¯ // 3. æ¥è¯¢å·¥åä¿¡æ¯ï¼éªè¯å·¥åæ¯å¦åå¨ var womdaa = Db.Queryable<Womdaa>() .Where(x => x.Daa001 == barcode.BillNo) .First(); if (womdaa == null) throw new Exception($"æ¡ç 䏿¯æ¥å·¥æ¡ç /æ 对åºå·¥åï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // ç¡®å®åæ®ç±»å int billTypeId = 900; int transactionNo = 902; // 4. æ ¹æ®æ¡ç 夿³¨ç¡®å®åæ®ç±»åå交æå· var billTypeId = 900; // é»è®¤åæ®ç±»å var transactionNo = 902; // é»è®¤äº¤æå·(åæåå·¥åº) switch (barcode.Memo?.Trim() ?? "0") { case "ä¸å°": transactionNo = 901; transactionNo = 901; // ä¸å°å·¥åº break; case "åæå": transactionNo = 902; transactionNo = 902; // åæåå·¥åº break; case "æå": case "å è£ ": transactionNo = 903; transactionNo = 903; // æå/å è£ å·¥åº break; } // æ±æ»å·²æ«æ¡ç æ°é // 5. æ±æ»å·²æ«æ¡ç æ°éï¼éªè¯æ¯å¦è¶ åºè®¡åæ°é var sumQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>((a, b) => new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo)) .Where((a, b) => a.BillTypeId == billTypeId @@ -260,16 +303,17 @@ throw new Exception( $"æ¬æ¬¡æ¥å·¥æ°éï¼{request.Quantity} 大äºå©ä½æ¥å·¥æ°éï¼{womdaa.Daa008 - (sumQty - request.Quantity)}ï¼è¯·æ ¸å¯¹ï¼"); // 6. å¼å¯äºå¡å¤çæ¥å·¥æ°æ® return UseTransaction(db => { // æ´æ°æ¡ç ä¿¡æ¯ // 6.1 æ´æ°æ¡ç ä¿¡æ¯ï¼è®¾ç½®å·²æ¥å·¥æ è®°åæ°é db.Updateable<MesInvItemBarcodes>() .SetColumns(x => x.WorkFlg == true) .SetColumns(x => x.Quantity == request.Quantity) .Where(x => x.Guid == barcode.Guid) .ExecuteCommand(); // è·åæå建æ¥å·¥å // 6.2 è·åæå建æ¥å·¥å var workProd = db.Queryable<MesWorkProd>() .Where(x => x.TaskNo == barcode.BillNo && x.CreateDate.Value.Date.ToString("yyyy-MM-dd") == @@ -279,12 +323,13 @@ && x.Status == 0) .First(); // 6.3 妿æ¥å·¥åä¸åå¨åå建æ°çæ¥å·¥å if (workProd == null) { var billNo = BillNo.GetBillNo("MES_WORK"); var billNo = BillNo.GetBillNo("BG(æ¥å·¥ç¼å·)"); workProd = new MesWorkProd { Id = Guid.NewGuid(), Id = Guid.NewGuid(), BillNo = billNo, LineNo = barcode.LineNo, Company = barcode.Company, @@ -293,7 +338,7 @@ CreateDate = DateTime.Now, LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, PbillNo = barcode.BillNo, // Added PbillNo field PbillNo = barcode.BillNo, BillTypeId = billTypeId, TransactionNo = transactionNo, TaskNo = barcode.BillNo @@ -302,10 +347,10 @@ db.Insertable(workProd).IgnoreColumns(true).ExecuteCommand(); } // æå ¥æ¥å·¥æç» // 6.4 æå ¥æ¥å·¥æç»è®°å½ var detail = new MesWorkProdCDetails { Id = Guid.NewGuid(), Id = Guid.NewGuid(), BillNo = workProd.BillNo, ItemBarcode = request.ItemBarcode, Quantity = (int)request.Quantity, @@ -316,7 +361,7 @@ LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, ItemNo = barcode.ItemNo, PbillNo = barcode.BillNo, // Added PbillNo from barcode PbillNo = barcode.BillNo, WorkLast = barcode.WorkLast, SilkPqty = barcode.SilkPqty, SilkId = barcode.SilkId,