啊鑫
2024-12-24 e328deb435c326025f3b7a510011e69d0353e69c
生产报工和生产超领的后台逻辑
已修改6个文件
已添加10个文件
1177 ■■■■■ 文件已修改
Controllers/Warehouse/MesItemBlController.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Wom/MesWorkProdCDetailsController.cs 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Wom/MesWorkProdController.cs 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/base/MesStaffController.cs 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/service/ScanWorkRequest.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/service/ScanWorkResult.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesItemBl.cs 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesItemBlDetail.cs 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesWorkProd.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesWorkProdCDetails.cs 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/Womdaa.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/Womdab.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesItemBlManager.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Wom/MesWorkProdCDetailsManager.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Wom/MesWorkProdManager.cs 331 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/base/MesStaffManager.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
}