Controllers/Warehouse/MesItemBlController.cs
@@ -197,7 +197,6 @@ /// <returns>è¡¥æåæç»å表</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemBl/GetMesItemBlDetailByBillNo /// { /// "billNo": "BL202401010001" @@ -206,7 +205,8 @@ /// <response code="200">æåè·åè¡¥æåæç»</response> /// <response code="400">è·å失败ï¼å¯è½æ¯åæ®å·ä¸å卿已宿</response> [HttpPost("GetMesItemBlDetailByBillNo")] public ResponseResult GetMesItemBlDetailByBillNo([FromBody] WarehouseQuery query) public ResponseResult GetMesItemBlDetailByBillNo( [FromBody] WarehouseQuery query) { try { @@ -232,7 +232,6 @@ /// <returns>æ«æç»æåå¾ å¤çå表</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemBl/SctlScanBarcode /// { /// "billNo": "WO202401010001", @@ -302,7 +301,6 @@ /// <returns>è¶ é¢åæç»å表</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemBl/GetMesItemBlDetailBySccBillNo /// { /// "billNo": "SC202401010001" @@ -311,12 +309,14 @@ /// <response code="200">æåè·åè¶ é¢åæç»</response> /// <response code="400">è·å失败ï¼è¿åå ·ä½é误信æ¯</response> [HttpPost("GetMesItemBlDetailBySccBillNo")] public ResponseResult GetMesItemBlDetailBySccBillNo([FromBody] WarehouseQuery query) public ResponseResult GetMesItemBlDetailBySccBillNo( [FromBody] WarehouseQuery query) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = _manager.GetMesItemBlDetailBySccBillNo(query); resultInfos.tbBillList = _manager.GetMesItemBlDetailBySccBillNo(query); return new ResponseResult { status = 0, @@ -337,7 +337,6 @@ /// <returns>æ«æç»æåå¾ å¤çå表</returns> /// <remarks> /// 请æ±ç¤ºä¾: /// /// POST /api/MesItemBl/ScanBarcodeForOverPicking /// { /// "billNo": "WO202401010001", @@ -349,12 +348,14 @@ /// <response code="200">æ«ææå</response> /// <response code="400">æ«æå¤±è´¥ï¼è¿åå ·ä½é误信æ¯</response> [HttpPost("ScanBarcodeForOverPicking")] public ResponseResult ScanBarcodeForOverPicking([FromBody] WarehouseQuery query) public ResponseResult ScanBarcodeForOverPicking( [FromBody] WarehouseQuery query) { try { dynamic resultInfos = new ExpandoObject(); var (success, pendingList) = _manager.ScanBarcodeForOverPicking(query); var (success, pendingList) = _manager.ScanBarcodeForOverPicking(query); resultInfos.success = success; resultInfos.pendingList = pendingList; return new ResponseResult Controllers/Wom/MesWorkProdCDetailsController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,163 @@ using System.Dynamic; using Microsoft.AspNetCore.Mvc; using NewPdaSqlServer.entity; using NewPdaSqlServer.service.Wom; using NewPdaSqlServer.util; namespace NewPdaSqlServer.Controllers.Wom; [ApiController] [Route("api/[controller]")] public class MesWorkProdCDetailsController : ControllerBase { private readonly MesWorkProdCDetailsManager m = new(); /***è¿å ¥æ¨¡ç管çå¯ä»¥ä¿®æ¹æ¨¡ç***/ /// <summary> /// è·åææ /// </summary> /// <returns></returns> [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.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 = m.GetById(id); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®ä¸»é®å é¤ /// </summary> /// <returns></returns> [HttpPost("DeleteByIds")] public ResponseResult DeleteByIds([FromBody] object[] ids) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.DeleteByIds(ids); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å /// </summary> /// <returns></returns> [HttpPost("Insert")] public ResponseResult Add([FromBody] MesWorkProdCDetails data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Insert(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å è¿åèªå¢ /// </summary> /// <returns></returns> [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity( [FromBody] MesWorkProdCDetails data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.InsertReturnIdentity(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// ä¿®æ¹ /// </summary> /// <returns></returns> [HttpPost("Update")] public ResponseResult Update([FromBody] MesWorkProdCDetails data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Update(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } Controllers/Wom/MesWorkProdController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,162 @@ using System.Dynamic; using Microsoft.AspNetCore.Mvc; using NewPdaSqlServer.entity; using NewPdaSqlServer.service.Wom; using NewPdaSqlServer.util; namespace NewPdaSqlServer.Controllers.Wom; [ApiController] [Route("api/[controller]")] public class MesWorkProdController : ControllerBase { private readonly MesWorkProdManager m = new(); /***è¿å ¥æ¨¡ç管çå¯ä»¥ä¿®æ¹æ¨¡ç***/ /// <summary> /// è·åææ /// </summary> /// <returns></returns> [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.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 = m.GetById(id); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®ä¸»é®å é¤ /// </summary> /// <returns></returns> [HttpPost("DeleteByIds")] public ResponseResult DeleteByIds([FromBody] object[] ids) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.DeleteByIds(ids); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å /// </summary> /// <returns></returns> [HttpPost("Insert")] public ResponseResult Add([FromBody] MesWorkProd data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Insert(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å è¿åèªå¢ /// </summary> /// <returns></returns> [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity([FromBody] MesWorkProd data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.InsertReturnIdentity(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// ä¿®æ¹ /// </summary> /// <returns></returns> [HttpPost("Update")] public ResponseResult Update([FromBody] MesWorkProd data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Update(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } Controllers/base/MesStaffController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,162 @@ using System.Dynamic; using Microsoft.AspNetCore.Mvc; using NewPdaSqlServer.entity; using NewPdaSqlServer.service.@base; using NewPdaSqlServer.util; namespace NewPdaSqlServer.Controllers.@base; [ApiController] [Route("api/[controller]")] public class MesStaffController : ControllerBase { private readonly MesStaffManager m = new(); /***è¿å ¥æ¨¡ç管çå¯ä»¥ä¿®æ¹æ¨¡ç***/ /// <summary> /// è·åææ /// </summary> /// <returns></returns> [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.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 = m.GetById(id); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®ä¸»é®å é¤ /// </summary> /// <returns></returns> [HttpPost("DeleteByIds")] public ResponseResult DeleteByIds([FromBody] object[] ids) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.DeleteByIds(ids); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å /// </summary> /// <returns></returns> [HttpPost("Insert")] public ResponseResult Add([FromBody] MesStaff data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Insert(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ·»å è¿åèªå¢ /// </summary> /// <returns></returns> [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity([FromBody] MesStaff data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.InsertReturnIdentity(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// ä¿®æ¹ /// </summary> /// <returns></returns> [HttpPost("Update")] public ResponseResult Update([FromBody] MesStaff data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Update(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } Dto/service/ScanWorkRequest.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ namespace NewPdaSqlServer.Dto.service; public class ScanWorkRequest { public string? UserNo { get; set; } public string? ItemBarcode { get; set; } public string? StaffNo { get; set; } public decimal? Quantity { get; set; } } Dto/service/ScanWorkResult.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ namespace NewPdaSqlServer.Dto.service; /// <summary> /// ç产æ¥å·¥æ«æç»æ /// </summary> public class ScanWorkResult { public string TaskNo { get; set; } public string ItemNo { get; set; } public decimal PlanQty { get; set; } public decimal ReportedQty { get; set; } public decimal CurrentQty { get; set; } public decimal BarcodeQty { get; set; } public string ItemName { get; set; } public string ItemModel { get; set; } public string Message { get; set; } } entity/MesItemBl.cs
entity/MesItemBlDetail.cs
entity/MesWorkProd.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,118 @@ using SqlSugar; namespace NewPdaSqlServer.entity; /// <summary> /// æ¥å·¥ä¸»è¡¨ /// </summary> [SugarTable("MES_WORK_PROD")] public class MesWorkProd { /// <summary> /// å¯ä¸æ è¯ç¬¦ /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] public Guid Id { get; set; } /// <summary> /// æ¥å·¥åå· /// </summary> [SugarColumn(ColumnName = "bill_no")] public string BillNo { get; set; } /// <summary> /// ç产线 /// </summary> [SugarColumn(ColumnName = "line_no")] public string LineNo { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "company")] public string Company { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "factory")] public string Factory { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "create_by")] public string CreateBy { get; set; } /// <summary> /// åå»ºæ¥æ /// é»è®¤å¼: (getdate()) /// </summary> [SugarColumn(ColumnName = "create_date")] public DateTime? CreateDate { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "lastupdate_by")] public string LastupdateBy { get; set; } /// <summary> /// é»è®¤å¼: (getdate()) /// </summary> [SugarColumn(ColumnName = "lastupdate_date")] public DateTime? LastupdateDate { get; set; } /// <summary> /// çæ¬¡ /// </summary> [SugarColumn(ColumnName = "class_no")] public string ClassNo { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "check_user")] public string CheckUser { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "check_date")] public DateTime? CheckDate { get; set; } /// <summary> /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "status")] public int? Status { get; set; } /// <summary> /// 派工åå· /// </summary> [SugarColumn(ColumnName = "pbill_no")] public string PbillNo { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "bill_type_id")] public decimal? BillTypeId { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "transaction_no")] public decimal? TransactionNo { get; set; } /// <summary> /// ä»»å¡åå· /// </summary> [SugarColumn(ColumnName = "task_no")] public string TaskNo { get; set; } /// <summary> /// 塿¿æ°é /// </summary> [SugarColumn(ColumnName = "kb_qty")] public decimal? KbQty { get; set; } /// <summary> /// æ¯ç®±æ°é /// </summary> [SugarColumn(ColumnName = "box_qty")] public decimal? BoxQty { get; set; } } entity/MesWorkProdCDetails.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,106 @@ using SqlSugar; namespace NewPdaSqlServer.entity; /// <summary> /// æ¥å·¥æ¡ç 表 /// </summary> [SugarTable("MES_WORK_PROD_C_DETAILS")] public class MesWorkProdCDetails { /// <summary> /// å¯ä¸æ è¯ç¬¦ /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] public Guid Id { get; set; } /// <summary> /// æ¥å·¥åå· /// </summary> [SugarColumn(ColumnName = "bill_no")] public string BillNo { get; set; } /// <summary> /// æ¥å·¥æ¡ç /// </summary> [SugarColumn(ColumnName = "item_barcode")] public string ItemBarcode { get; set; } /// <summary> /// æ°é /// </summary> [SugarColumn(ColumnName = "quantity")] public int? Quantity { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "company")] public string Company { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "factory")] public string Factory { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "create_by")] public string CreateBy { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "create_date")] public DateTime? CreateDate { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "lastupdate_by")] public string LastupdateBy { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "lastupdate_date")] public DateTime? LastupdateDate { get; set; } /// <summary> /// ç©æç¼å· /// </summary> [SugarColumn(ColumnName = "item_no")] public string ItemNo { get; set; } /// <summary> /// 派工åå· /// </summary> [SugarColumn(ColumnName = "pbill_no")] public string PbillNo { get; set; } /// <summary> /// æåå·¥åº /// </summary> [SugarColumn(ColumnName = "work_last")] public decimal? WorkLast { get; set; } /// <summary> /// ä¸å°æ¬¡æ° /// </summary> [SugarColumn(ColumnName = "silk_pqty")] public decimal? SilkPqty { get; set; } /// <summary> /// 派工ä»è¡¨ID /// </summary> [SugarColumn(ColumnName = "silk_id")] public decimal? SilkId { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "silk")] public string Silk { get; set; } /// <summary> /// æ¥å·¥åå·¥ /// </summary> [SugarColumn(ColumnName = "bg_yg")] public decimal? BgYg { get; set; } } entity/Womdaa.cs
@@ -8,20 +8,17 @@ public class Womdaa { /// <summary> /// /// é»è®¤å¼: (newid()) ///</summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "pbaGuid")] public Guid? PbaGuid { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "caaGuid")] public Guid? CaaGuid { get; set; } entity/Womdab.cs
@@ -8,14 +8,12 @@ public class Womdab { /// <summary> /// /// é»è®¤å¼: (newid()) ///</summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// ///</summary> [SugarColumn(ColumnName = "daaGuid")] public Guid? DaaGuid { get; set; } service/Warehouse/MesItemBlManager.cs
@@ -235,7 +235,6 @@ .Count(); if (itemCount > 0) { // æ´æ°å·²åå¨çç©ææç»æ°é db.Updateable<MesInvItemOutItems>() .SetColumns(i => @@ -243,9 +242,7 @@ .Where(i => i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId) .ExecuteCommand(); } else { // æå ¥æ°çç©ææç»è®°å½ db.Insertable(new MesInvItemOutItems { @@ -267,11 +264,10 @@ ErpId = womdab.Eid, ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, ItemId = blDetail.Bld012 // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } // æå ¥åºåºåæ¡ç æç» db.Insertable(new MesInvItemOutCDetails @@ -332,7 +328,7 @@ WorkNo = blDetail.Bld001, // Matches C_QTCK_D.Bld001 WorkLine = blDetail.Bld013, // Matches C_QTCK_D.Bld013 SuppNo = stockBarcode.SuppNo, ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // CkDepot = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); @@ -363,13 +359,11 @@ .First(); if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0)) { // æ´æ°æç»å®æç¶æ db.Updateable<MesItemBlDetail>() .SetColumns(it => it.Bld011 == 1) .Where(it => it.Id == blDetail1.Id) .ExecuteCommand(); } // æ´æ°åºåæ°é为0 db.Updateable<MesInvItemStocks>() @@ -386,7 +380,6 @@ .First(); if (unfinishedDetail == null) { // å¦ææ²¡ææªå®æçæç»ï¼æ´æ°è¡¥æåç¶æä¸ºå·²å®æ db.Updateable<MesItemBl>() .SetColumns(it => new MesItemBl @@ -397,7 +390,6 @@ }) .Where(it => it.Id == mesItemBl.Id) .ExecuteCommand(); } return 1; }); @@ -527,7 +519,7 @@ // Memo = stockBarcode.Memo, SuppNo = stockBarcode.SuppNo, // InsDate = stockBarcode.InsDate, // Added InsDate ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit }).IgnoreColumns(true).ExecuteCommand(); @@ -567,7 +559,7 @@ WorkNo = stockBarcode.WorkNo, WorkLine = stockBarcode.WorkLine, SuppNo = stockBarcode.SuppNo, ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // UnitId = stockBarcode.ItemUnit }).IgnoreColumns(true).ExecuteCommand(); @@ -601,7 +593,7 @@ WorkLine = stockBarcode.WorkLine, SuppNo = stockBarcode.SuppNo, SuppId = stockBarcode.SuppId, ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // CkDepot = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } @@ -652,7 +644,8 @@ throw new Exception($"å·¥å {query.billNo} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); var womdab = Db.Queryable<Womdab>() .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014) .Where(b => b.Dab001 == query.billNo && b.Erpid == blDetail.Bld014) .First(); if (womdab == null) @@ -660,13 +653,13 @@ // æ£æ¥å·²åææ°éæ¯å¦è¶ è¿å¾ åææ°é var sumQty = db.Queryable<MesInvItemOutCDetails>() .Where(it => it.TaskNo == query.blNo && it.ItemId == stockBarcode.ItemId) .Where(it => it.TaskNo == query.blNo && it.ItemId == stockBarcode.ItemId) .Sum(it => it.Quantity); if (sumQty > remainingQty) { throw new Exception($"æåæ°éï¼{sumQty} 大äºå¾ åææ°éï¼{remainingQty}ï¼è¯·æ ¸å¯¹ï¼"); } throw new Exception( $"æåæ°éï¼{sumQty} 大äºå¾ åææ°éï¼{remainingQty}ï¼è¯·æ ¸å¯¹ï¼"); // è·åæå建åºåºå var itemOut = db.Queryable<MesInvItemOuts>() @@ -720,7 +713,6 @@ .Count(); if (itemOutItemCount == 0) { // æå ¥æ°çåºåºåæç» executeCommand += db.Insertable(new MesInvItemOutItems { @@ -742,13 +734,11 @@ ErpId = womdab.Eid, ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, ItemId = blDetail.Bld012 // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } else { // æ´æ°å·²æåºåºåæç»æ°é executeCommand += db.Updateable<MesInvItemOutItems>() .SetColumns(it => it.Quantity == it.Quantity + query.Num) @@ -756,7 +746,6 @@ it.ItemOutId == itemOut.Guid && it.ItemId == stockBarcode.ItemId) .ExecuteCommand(); } // æå ¥åºåºæ¡ç æç» executeCommand += db.Insertable(new MesInvItemOutCDetails @@ -816,7 +805,7 @@ WorkNo = blDetail.Bld001, WorkLine = blDetail.Bld013, SuppNo = stockBarcode.SuppNo, ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // CkDepot = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); @@ -848,13 +837,11 @@ .First(); if ((updatedDetail.Bld007 ?? 0) <= (updatedDetail.Bld008 ?? 0)) { // æ´æ°æç»å®æç¶æ executeCommand += db.Updateable<MesItemBlDetail>() .SetColumns(it => new MesItemBlDetail { Bld011 = 1 }) .Where(it => it.Id == blDetail.Id) .ExecuteCommand(); } // æ£æ¥æ¯å¦è¿ææªå®æçæç» @@ -863,7 +850,6 @@ .First(); if (unfinishedDetail == null) { // å¦ææ²¡ææ¾å°æªå®ææç»ï¼åæ´æ°è¡¥æåç¶æä¸ºå·²å®æ executeCommand += db.Updateable<MesItemBl>() .SetColumns(it => new MesItemBl @@ -874,7 +860,6 @@ }) .Where(it => it.Id == mesItemBl.Id) .ExecuteCommand(); } if (executeCommand <= 1) throw new Exception("æ´æ°å¤±è´¥"); @@ -1103,7 +1088,7 @@ UseTransaction(db => { // çææè·ååºåºå Guid outId = Guid.Empty; var outId = Guid.Empty; var outNo = ""; var outRecord = db.Queryable<MesInvItemOuts>() .Where(a => a.BbillNo == query.blNo @@ -1157,7 +1142,6 @@ .First(); if (outItem == null) { // æå ¥åºåºåæç» db.Insertable(new MesInvItemOutItems { @@ -1177,13 +1161,11 @@ ErpId = womdab.Eid, ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, ItemId = blDetail.Bld012 // Unit = blDetail.Bld009, // DepotId = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } else { // æ´æ°åºåºåæç»æ°é db.Updateable<MesInvItemOutItems>() .SetColumns(it => new MesInvItemOutItems @@ -1194,7 +1176,6 @@ it.ItemOutId == outId && it.ItemId == stockBarcode.ItemId) .ExecuteCommand(); } // æå ¥åºåºæ¡ç æç» db.Insertable(new MesInvItemOutCDetails @@ -1247,7 +1228,7 @@ WorkLine = blDetail.Bld013, SuppNo = stockBarcode.SuppNo, SuppId = stockBarcode.SuppId, ItemId = stockBarcode.ItemId, ItemId = stockBarcode.ItemId // CkDepot = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); @@ -1287,12 +1268,10 @@ // å¦ææææç»å®æ,æ´æ°è¶ é¢åç¶æä¸ºå·²å®æ if (!hasUnfinished) { db.Updateable<MesItemBl>() .SetColumns(it => it.Bl019 == true) .Where(it => it.Id == mesItemBl.Id) .ExecuteCommand(); } return 1; }); @@ -1560,7 +1539,6 @@ .Count(); if (itemOutItemCount == 0) { // æå ¥æ°çåºåºåæç» db.Insertable(new MesInvItemOutItems { @@ -1582,13 +1560,11 @@ ErpId = workOrderDetail.Eid, ErpAutoid = workOrderDetail.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, ItemId = blDetail.Bld012 // Unit = blDetail.Bld009, // DepotId = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); } else { // æ´æ°å·²æåºåºåæç»æ°é db.Updateable<MesInvItemOutItems>() .SetColumns(it => it.Quantity == it.Quantity + query.Num) @@ -1596,7 +1572,6 @@ it.ItemOutId == itemOut.Guid && it.ItemId == stockBarcode.ItemId) .ExecuteCommand(); } // æå ¥åºåºæç»è®°å½ db.Insertable(new MesInvItemOutCDetails @@ -1685,13 +1660,11 @@ .First(); if ((blDetail1.Bld007 ?? 0) <= (blDetail1.Bld008 ?? 0)) { // æ´æ°æç»å®æç¶æ db.Updateable<MesItemBlDetail>() .SetColumns(it => it.Bld011 == 1) .Where(it => it.Id == blDetail1.Id) .ExecuteCommand(); } // æ£æ¥æ¯å¦æææç»é½å·²å®æ var hasUnfinished = db.Queryable<MesItemBlDetail>() @@ -1700,12 +1673,10 @@ // å¦ææææç»å®æ,æ´æ°è¡¥æåç¶æä¸ºå·²å®æ if (!hasUnfinished) { db.Updateable<MesItemBl>() .SetColumns(it => it.Bl019 == true) .Where(it => it.Id == mesItemBl.Id) .ExecuteCommand(); } return 1; }); service/Wom/MesWorkProdCDetailsManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ using NewPdaSqlServer.DB; using NewPdaSqlServer.entity; namespace NewPdaSqlServer.service.Wom; public class MesWorkProdCDetailsManager : Repository<MesWorkProdCDetails> { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ } service/Wom/MesWorkProdManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,331 @@ using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.util; using SqlSugar; namespace NewPdaSqlServer.service.Wom; public class MesWorkProdManager : Repository<MesWorkProd> { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ /// <summary> /// PDAæ«æç产æ¥å·¥ /// </summary> public ScanWorkResult ScanWorkAsync(ScanWorkRequest request) { // æ¥è¯¢äººåä¿¡æ¯ var staff = Db.Queryable<MesStaff>() .Where(x => x.StaffNo == request.StaffNo) .First(); if (staff == null) throw new Exception("请å éæ©äººå"); // æ¥è¯¢æ¡ç ä¿¡æ¯ var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(x => x.ItemBarcode == request.ItemBarcode) .First(); if (barcode == null) throw new Exception($"æ æ¤æ¡ç ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // æ¥è¯¢ç©æä¿¡æ¯ 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; switch (barcode.Memo?.Trim() ?? "0") { case "ä¸å°": transactionNo = 901; break; case "åæå": transactionNo = 902; break; case "å è£ ": case "æå": transactionNo = 903; break; } // æ£æ¥æ¡ç æ¯å¦é夿«æ var exists = Db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo)) .Where((a, b) => b.ItemBarcode == request.ItemBarcode && a.BillTypeId == billTypeId && a.TransactionNo == transactionNo) .Any(); if (exists) throw new Exception("æ¡ç é夿«æï¼è¯·æ ¸å¯¹ï¼"); // è·åå·²æ¥å·¥æ°é var reportedQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo)) .Where((a, b) => a.BillTypeId == billTypeId && a.TransactionNo == transactionNo && a.TaskNo == barcode.BillNo) .Sum((a, b) => b.Quantity); // è·åå·¥åè®¡åæ°éååå· var workOrder = Db.Queryable<Womdaa>() .Where(x => x.Daa001 == barcode.BillNo) .First(); if (workOrder == null) throw new Exception($"æ å·¥åæç»ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); var planQty = workOrder.Daa008; var itemModel = workOrder.Daa004; UseTransaction(db => { // ææ°éæ¡ç èªå¨æ¥å·¥ if (barcode.Quantity > 0) { var reportQty = barcode.Quantity; if (reportQty <= 0) throw new Exception( $"æ¥å·¥æ°éä¸è½å°äºçäº0ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); var totalQty = (reportedQty ?? 0) + reportQty; if (totalQty > workOrder.Daa008) throw new Exception( $"æ¬æ¬¡æ¥å·¥æ°éï¼{reportQty} 大äºå©ä½æ¥å·¥æ°éï¼{workOrder.Daa008 - reportedQty ?? 0}ï¼è¯·æ ¸å¯¹ï¼"); // æ´æ°æ¡ç ç¶æ db.Updateable<MesInvItemBarcodes>() .SetColumns(x => new MesInvItemBarcodes { WorkFlg = true, Quantity = reportQty }) .Where(x => x.Guid == barcode.Guid) .ExecuteCommandAsync(); // è·åæå建æ¥å·¥å var workProd = db.Queryable<MesWorkProd>() .Where(x => x.TaskNo == barcode.BillNo && x.CreateDate.Value.Date.ToString( "yyyy-MM-dd") == DateTime.Now.Date.ToString("yyyy-MM-dd") && x.BillTypeId == billTypeId && x.TransactionNo == transactionNo && x.Status == 0) .First(); if (workProd == null) { var id = Guid.NewGuid(); var billNo = BillNo.GetBillNo("MES_WORK"); workProd = new MesWorkProd { Id = id, BillNo = billNo, LineNo = barcode.LineNo, Company = barcode.Company, Factory = barcode.Factory, CreateBy = request.UserNo, CreateDate = DateTime.Now, LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, BillTypeId = billTypeId, TransactionNo = transactionNo, TaskNo = barcode.BillNo }; db.Insertable(workProd).IgnoreColumns(true) .ExecuteCommand(); } // æå ¥æ¥å·¥æç» var detailId = Guid.NewGuid(); db.Insertable(new MesWorkProdCDetails { Id = detailId, BillNo = workProd.BillNo, ItemBarcode = request.ItemBarcode, Quantity = (int)reportQty, Company = barcode.Company, Factory = barcode.Factory, CreateBy = request.UserNo, CreateDate = DateTime.Now, LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, ItemNo = item.ItemNo, WorkLast = barcode.WorkLast, SilkPqty = barcode.SilkPqty, SilkId = barcode.SilkId, Silk = barcode.Silk, BgYg = staff.Id }).IgnoreColumns(true).ExecuteCommand(); // æ´æ°å·¥åå·²æ¥å·¥æ°é db.Updateable<Womdaa>() .SetColumns(x => x.Daa011 == (x.Daa011 ?? 0) + (int)barcode.Quantity ) .Where(x => x.Daa001 == barcode.BillNo) .ExecuteCommandAsync(); // éæ°è·åå·²æ¥å·¥æ°é reportedQty = db.Queryable<MesWorkProd, MesWorkProdCDetails>( (a, b) => new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo)) .Where((a, b) => a.BillTypeId == billTypeId && a.TransactionNo == transactionNo && a.TaskNo == barcode.BillNo) .Sum((a, b) => b.Quantity); } return 1; }); return new ScanWorkResult { TaskNo = barcode.TaskNo, ItemNo = item.ItemNo, PlanQty = planQty ?? 0, ReportedQty = reportedQty ?? 0, CurrentQty = barcode.Quantity.Value, BarcodeQty = barcode.Quantity.Value, ItemName = item.ItemName, ItemModel = itemModel, Message = "æ«ç æåï¼" }; } /// <summary> /// PDAæ«æç产æ¥å·¥ prc_rf_pda_scan_work_prod /// </summary> public bool ScanWorkProdAsync(ScanWorkRequest request) { if (request.Quantity <= 0) throw new Exception("æ¥å·¥æ°éä¸è½å°äºçäº 0ï¼è¯·æ ¸å¯¹ï¼"); // æ¥è¯¢æ¡ç ä¿¡æ¯ var barcode = Db.Queryable<MesInvItemBarcodes>() .Where(x => x.ItemBarcode == request.ItemBarcode) .First(); if (barcode == null) throw new Exception($"åºå䏿 æ¤æ¡ç ï¼è¯·æ ¸å¯¹ï¼{request.ItemBarcode}"); // æ¥è¯¢å·¥åä¿¡æ¯ 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; switch (barcode.Memo?.Trim() ?? "0") { case "ä¸å°": transactionNo = 901; break; case "åæå": transactionNo = 902; break; case "æå": case "å è£ ": transactionNo = 903; break; } // æ±æ»å·²æ«æ¡ç æ°é var sumQty = Db.Queryable<MesWorkProd, MesWorkProdCDetails>((a, b) => new JoinQueryInfos(JoinType.Inner, a.BillNo == b.BillNo)) .Where((a, b) => a.BillTypeId == billTypeId && a.TransactionNo == transactionNo && b.SilkId == barcode.SilkId && a.TaskNo == barcode.BillNo) .Sum((a, b) => b.Quantity); sumQty = (sumQty ?? 0) + (int)request.Quantity; if (sumQty > womdaa.Daa008) throw new Exception( $"æ¬æ¬¡æ¥å·¥æ°éï¼{request.Quantity} 大äºå©ä½æ¥å·¥æ°éï¼{womdaa.Daa008 - (sumQty - request.Quantity)}ï¼è¯·æ ¸å¯¹ï¼"); return UseTransaction(db => { // æ´æ°æ¡ç ä¿¡æ¯ db.Updateable<MesInvItemBarcodes>() .SetColumns(x => x.WorkFlg == true) .SetColumns(x => x.Quantity == request.Quantity) .Where(x => x.Guid == barcode.Guid) .ExecuteCommand(); // è·åæå建æ¥å·¥å var workProd = db.Queryable<MesWorkProd>() .Where(x => x.TaskNo == barcode.BillNo && x.CreateDate.Value.Date.ToString("yyyy-MM-dd") == DateTime.Now.Date.ToString("yyyy-MM-dd") && x.BillTypeId == billTypeId && x.TransactionNo == transactionNo && x.Status == 0) .First(); if (workProd == null) { var billNo = BillNo.GetBillNo("MES_WORK"); workProd = new MesWorkProd { Id = Guid.NewGuid(), BillNo = billNo, LineNo = barcode.LineNo, Company = barcode.Company, Factory = barcode.Factory, CreateBy = request.UserNo, CreateDate = DateTime.Now, LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, PbillNo = barcode.BillNo, // Added PbillNo field BillTypeId = billTypeId, TransactionNo = transactionNo, TaskNo = barcode.BillNo }; db.Insertable(workProd).IgnoreColumns(true).ExecuteCommand(); } // æå ¥æ¥å·¥æç» var detail = new MesWorkProdCDetails { Id = Guid.NewGuid(), BillNo = workProd.BillNo, ItemBarcode = request.ItemBarcode, Quantity = (int)request.Quantity, Company = barcode.Company, Factory = barcode.Factory, CreateBy = request.UserNo, CreateDate = DateTime.Now, LastupdateBy = request.UserNo, LastupdateDate = DateTime.Now, ItemNo = barcode.ItemNo, PbillNo = barcode.BillNo, // Added PbillNo from barcode WorkLast = barcode.WorkLast, SilkPqty = barcode.SilkPqty, SilkId = barcode.SilkId, Silk = barcode.Silk }; db.Insertable(detail).IgnoreColumns(true).ExecuteCommand(); return 1; }) > 0; } } service/base/MesStaffManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ using NewPdaSqlServer.DB; using NewPdaSqlServer.entity; namespace NewPdaSqlServer.service.@base; public class MesStaffManager : Repository<MesStaff> { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ //è¿éé¢åç代ç ä¸ä¼ç»è¦ç,妿è¦éæ°çæè¯·å é¤ MesStaffManager.cs }