11
啊鑫
2024-12-23 06287f58cd161d8daa0942a950ca62aa2e10c30f
11
已修改7个文件
已添加6个文件
1262 ■■■■■ 文件已修改
Controllers/Warehouse/MesItemTblController.cs 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/MesItemTblDetailController.cs 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/service/WarehouseQuery.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesDepots.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesInvBusiness2.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesInvItemOutCDetails.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesItemTbl.cs 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/MesItemTblDetail.cs 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
entity/Womdaa.cs 补丁 | 查看 | 原始文档 | blame | 历史
entity/Womdab.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesItemTblDetailManager.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesItemTblManager.cs 430 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/WomdaaManager.cs 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/MesItemTblController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,266 @@
using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.Warehouse;
using NewPdaSqlServer.util;
namespace NewPdaSqlServer.Controllers.Warehouse;
/// <summary>
/// ç”Ÿäº§é€€æ–™ç›¸å…³æŽ¥å£
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class MesItemTblController : ControllerBase
{
    private readonly MesItemTblManager 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] MesItemTbl 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] MesItemTbl 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] MesItemTbl 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);
        }
    }
    // æ–°å¢žçš„æ–¹æ³•
    /// <summary>
    /// èŽ·å–ç”Ÿäº§é€€æ–™å•å·åˆ—è¡¨
    /// </summary>
    /// <returns>退料单号列表</returns>
    [HttpPost("GetSCTLBillNo")]
    public ResponseResult GetSCTLBillNo()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetSCTLBillNo();
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// æ ¹æ®å•号获取生产退料单明细
    /// </summary>
    /// <param name="query">查询参数</param>
    /// <returns>退料单明细列表</returns>
    [HttpPost("GetMesItemTblDetailByBillNo")]
    public ResponseResult GetMesItemTblDetailByBillNo([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetMesItemTblDetailByBillNo(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>
    [HttpPost("SctlScanDepots")]
    public ResponseResult SctlScanDepots([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.SctlScanDepots(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>
    [HttpPost("SctlScanBarcode")]
    public ResponseResult SctlScanBarcode([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.SctlScanBarcode(query);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
Controllers/Warehouse/MesItemTblDetailController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,162 @@
using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.Warehouse;
using NewPdaSqlServer.util;
namespace NewPdaSqlServer.Controllers.Warehouse;
[ApiController]
[Route("api/[controller]")]
public class MesItemTblDetailController : ControllerBase
{
    private readonly MesItemTblDetailManager 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] MesItemTblDetail 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] MesItemTblDetail 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] MesItemTblDetail 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/WarehouseQuery.cs
@@ -5,11 +5,6 @@
public class WarehouseQuery : Page
{
    public string? id { get; set; }
    public decimal[]? ItemArnDetailIds { get; set; }
    public string? itemInId { get; set; }
    public string? sectionCode { get; set; }
    public string? barcode { get; set; }
    public string? userName { get; set; }
@@ -17,22 +12,16 @@
    public short? status { get; set; }
    public DateTime? date { get; set; }
    public string? Type { get; set; }
    public string? DepotCode { get; set; }
    public string? SuppNo { get; set; }
    public string? DepotSectionName { get; set; }
    public string? DepotName { get; set; }
    public string? SuppId { get; set; }
    public string? Factory { get; set; }
    public string? Company { get; set; }
    public string? ItemNo { get; set; }
    public string? ItemModel { get; set; }
    public string? OrgName { get; set; }
    public string? OrgOwner { get; set; }
    public string? ItemNum { get; set; }
    public string? Printnumn { get; set; }
    public string? ItemName { get; set; }
    public string? daa001 { get; set; }
    public decimal? Num { get; set; }
entity/MesDepots.cs
@@ -17,7 +17,7 @@
    ///     ID(SEQ_INV_ID)
    /// </summary>
    [SugarColumn(ColumnName = "depot_id")]
    public int DepotId { get; set; }
    public int? DepotId { get; set; }
    /// <summary>
    ///     ä»“库类别编码
entity/MesInvBusiness2.cs
@@ -232,5 +232,27 @@
    [SugarColumn(ColumnName = "ITEM_ID")]
    public long? ItemId { get; set; }
    [SugarColumn(ColumnName = "SUPP_ID")] public string? SuppId { get; set; }
    /// <summary>
    ///
    ///</summary>
    [SugarColumn(ColumnName = "SUPP_ID")]
    public string? SuppId { get; set; }
    /// <summary>
    /// æºä»“库ID
    ///</summary>
    [SugarColumn(ColumnName = "FROM_DEPOT_ID")]
    public int? FromDepotId { get; set; }
    /// <summary>
    /// ç›®çš„仓库ID
    ///</summary>
    [SugarColumn(ColumnName = "INV_DEPOT_ID")]
    public int? InvDepotId { get; set; }
    /// <summary>
    /// mes单据明细行id
    ///</summary>
    [SugarColumn(ColumnName = "MES_LINE")]
    public Guid? MesLine { get; set; }
}
entity/MesInvItemOutCDetails.cs
@@ -9,7 +9,6 @@
public class MesInvItemOutCDetails
{
    /// <summary>
    ///
    /// é»˜è®¤å€¼: (newid())
    ///</summary>
    [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)]
entity/MesItemTbl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
using SqlSugar;
namespace NewPdaSqlServer.entity;
/// <summary>
/// </summary>
[SugarTable("MES_ITEM_TBL")]
public class MesItemTbl
{
    /// <summary>
    ///     ID
    ///     é»˜è®¤å€¼: (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 = "tbl001")]
    public string? Tbl001 { get; set; }
    /// <summary>
    ///     ç”Ÿäº§å·¥å•
    /// </summary>
    [SugarColumn(ColumnName = "tbl002")]
    public string? Tbl002 { get; set; }
    /// <summary>
    ///     ä»»åŠ¡å•å·
    /// </summary>
    [SugarColumn(ColumnName = "tbl003")]
    public string? Tbl003 { get; set; }
    /// <summary>
    ///     äº§å“åž‹å·
    /// </summary>
    [SugarColumn(ColumnName = "tbl004")]
    public string? Tbl004 { get; set; }
    /// <summary>
    ///     é€€æ–™åŽŸå› 
    /// </summary>
    [SugarColumn(ColumnName = "tbl005")]
    public string? Tbl005 { get; set; }
    /// <summary>
    ///     å¤‡æ³¨
    /// </summary>
    [SugarColumn(ColumnName = "tbl006")]
    public string? Tbl006 { get; set; }
    /// <summary>
    ///     å•据类型
    /// </summary>
    [SugarColumn(ColumnName = "tbl007")]
    public string? Tbl007 { get; set; }
    /// <summary>
    ///     äº‹åŠ¡ç±»åž‹
    /// </summary>
    [SugarColumn(ColumnName = "tbl008")]
    public string? Tbl008 { get; set; }
    /// <summary>
    ///     åˆ›å»ºäºº
    /// </summary>
    [SugarColumn(ColumnName = "tbl009")]
    public string? Tbl009 { get; set; }
    /// <summary>
    ///     åˆ›å»ºæ—¶é—´
    /// </summary>
    [SugarColumn(ColumnName = "tbl010")]
    public DateTime? Tbl010 { get; set; }
    /// <summary>
    ///     å®¡æ ¸äºº
    /// </summary>
    [SugarColumn(ColumnName = "tbl011")]
    public string? Tbl011 { get; set; }
    /// <summary>
    ///     å®¡æ ¸æ—¶é—´
    /// </summary>
    [SugarColumn(ColumnName = "tbl012")]
    public DateTime? Tbl012 { get; set; }
    /// <summary>
    ///     å®¡æ ¸çŠ¶æ€
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tbl013")]
    public int? Tbl013 { get; set; }
    /// <summary>
    ///     ERP回写状态
    /// </summary>
    [SugarColumn(ColumnName = "tbl014")]
    public int? Tbl014 { get; set; }
    /// <summary>
    ///     ERP回写单号
    /// </summary>
    [SugarColumn(ColumnName = "tbl015")]
    public string? Tbl015 { get; set; }
    /// <summary>
    ///     ERP返回信息
    /// </summary>
    [SugarColumn(ColumnName = "tbl016")]
    public string? Tbl016 { get; set; }
    /// <summary>
    ///     ä¾›åº”商编码
    /// </summary>
    [SugarColumn(ColumnName = "tbl017")]
    public string? Tbl017 { get; set; }
    /// <summary>
    ///     å•据类型编码
    /// </summary>
    [SugarColumn(ColumnName = "tbl018")]
    public string? Tbl018 { get; set; }
    /// <summary>
    ///     äº‹åŠ¡ç±»åž‹ç¼–ç 
    /// </summary>
    [SugarColumn(ColumnName = "tbl019")]
    public string? Tbl019 { get; set; }
    /// <summary>
    ///     å®Œç»“标识
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tbl020")]
    public int? Tbl020 { get; set; }
    /// <summary>
    ///     ç”Ÿäº§è½¦é—´
    /// </summary>
    [SugarColumn(ColumnName = "tbl021")]
    public string? Tbl021 { get; set; }
    /// <summary>
    ///     äº§å“id
    /// </summary>
    [SugarColumn(ColumnName = "item_id")]
    public int? ItemId { get; set; }
    /// <summary>
    ///     æ˜¯å¦è¡¥æ–™å®Œæˆ
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tbl022")]
    public int? Tbl022 { get; set; }
}
entity/MesItemTblDetail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
using SqlSugar;
namespace NewPdaSqlServer.entity;
/// <summary>
/// </summary>
[SugarTable("MES_ITEM_TBL_DETAIL")]
public class MesItemTblDetail
{
    /// <summary>
    ///     ID
    ///     é»˜è®¤å€¼: (newid())
    /// </summary>
    [SugarColumn(ColumnName = "tlid")]
    public Guid? Tlid { get; set; }
    /// <summary>
    ///     ä¸»è¡¨ID
    /// </summary>
    [SugarColumn(ColumnName = "tlmid")]
    public Guid? Tlmid { get; set; }
    /// <summary>
    ///     ä»»åŠ¡å•å·
    /// </summary>
    [SugarColumn(ColumnName = "tld001")]
    public string? Tld001 { get; set; }
    /// <summary>
    ///     ç‰©æ–™ç¼–码
    /// </summary>
    [SugarColumn(ColumnName = "tld002")]
    public string? Tld002 { get; set; }
    /// <summary>
    ///     ç‰©æ–™åç§°
    /// </summary>
    [SugarColumn(ColumnName = "tld003")]
    public string? Tld003 { get; set; }
    /// <summary>
    ///     è§„格型号
    /// </summary>
    [SugarColumn(ColumnName = "tld004")]
    public string? Tld004 { get; set; }
    /// <summary>
    ///     ç”³è¯·æ•°é‡
    /// </summary>
    [SugarColumn(ColumnName = "tld005")]
    public int? Tld005 { get; set; }
    /// <summary>
    ///     å·²é€€æ•°é‡
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tld006")]
    public int? Tld006 { get; set; }
    /// <summary>
    ///     å•位
    /// </summary>
    [SugarColumn(ColumnName = "tld007")]
    public string? Tld007 { get; set; }
    /// <summary>
    ///     å®Œç»“标识
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tld008")]
    public int? Tld008 { get; set; }
    /// <summary>
    ///     ç‰©æ–™id
    /// </summary>
    [SugarColumn(ColumnName = "tld009")]
    public int? Tld009 { get; set; }
    /// <summary>
    ///     é¡¹æ¬¡
    /// </summary>
    [SugarColumn(ColumnName = "tld010")]
    public int? Tld010 { get; set; }
    /// <summary>
    ///     ERP投料单行id
    /// </summary>
    [SugarColumn(ColumnName = "tld011")]
    public int? Tld011 { get; set; }
    /// <summary>
    ///     æ˜¯å¦è¡¥æ–™å®Œæˆ
    ///     é»˜è®¤å€¼: ((0))
    /// </summary>
    [SugarColumn(ColumnName = "tld012")]
    public int? Tld012 { get; set; }
    [SugarColumn(IsIgnore = true)]
    public string? BillNo { get; set; }
    [SugarColumn(IsIgnore = true)]
    public string? ItemNo { get; set; }
    /// <summary>
    ///     ç‰©æ–™åç§°
    /// </summary>
    [SugarColumn(IsIgnore = true)]
    public string? ItemName { get; set; }
    [SugarColumn(IsIgnore = true)]
    public string ItemModel { get; set; }
}
entity/Womdaa.cs
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/MesItemTblDetailManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
using NewPdaSqlServer.DB;
using NewPdaSqlServer.entity;
namespace NewPdaSqlServer.service.Warehouse;
public class MesItemTblDetailManager : Repository<MesItemTblDetail>
{
    //当前类已经继承了 Repository å¢žã€åˆ ã€æŸ¥ã€æ”¹çš„æ–¹æ³•
    //这里面写的代码不会给覆盖,如果要重新生成请删除 MesItemTblDetailManager.cs
}
service/Warehouse/MesItemTblManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,430 @@
using Masuit.Tools;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
using SqlSugar;
namespace NewPdaSqlServer.service.Warehouse;
public class MesItemTblManager : Repository<MesItemTbl>
{
    public List<string> GetSCTLBillNo()
    {
        var list = Db.Queryable<MesItemTbl>()
            .Where(s => (s.Tbl013 ?? 0) == 1
                        && (s.Tbl020 ?? 0) == 0)
            .Select(s => s.BillNo).ToList();
        return list;
    }
    public List<MesItemTblDetail> GetMesItemTblDetailByBillNo(
        WarehouseQuery query)
    {
        var mesItemTblDetails = Db
            .Queryable<MesItemTbl, MesItemTblDetail, MesItems>(
                (a, b, c) => new JoinQueryInfos(
                    JoinType.Left,
                    a.Id == b.Tlmid,
                    JoinType.Left,
                    b.Tld009 == c.Id)
            ).Where((a, b, c) => a.BillNo == query.billNo)
            .Select<MesItemTblDetail>((a, b, c) => new MesItemTblDetail
            {
                BillNo = a.BillNo,
                Tlid = b.Tlid,
                Tlmid = b.Tlmid,
                Tld005 = b.Tld005,
                Tld006 = b.Tld006,
                Tld009 = b.Tld009,
                ItemNo = c.ItemNo,
                ItemName = c.ItemName,
                ItemModel = c.ItemModel
            }).ToList();
        var itemTblDetails = mesItemTblDetails
            .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList();
        return itemTblDetails;
    }
    public WarehouseQuery SctlScanDepots(WarehouseQuery query)
    {
        if (query.DepotCode.IsNullOrEmpty())
        {
            throw new NullReferenceException("请扫库位条码");
        }
        var warehouseQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
                new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid))
            .Where((a, b) => a.DepotSectionCode == query.DepotCode)
            .Select<WarehouseQuery>((a, b) => new WarehouseQuery
            {
                DepotSectionName = a.DepotSectionName,
                DepotName = b.DepotName,
                DepotCode = b.DepotCode,
            }).First();
        if (warehouseQuery == null)
        {
            throw new Exception("库位编码" + query.DepotCode + " ä¸å­˜åœ¨ï¼Œè¯·ç¡®è®¤ï¼");
        }
        return warehouseQuery;
    }
    public bool SctlScanBarcode(WarehouseQuery query)
    {
        var p_item_barcode = query.barcode;
        var p_bill_no = query.billNo;
        var p_section_code = query.DepotCode;
        var c_user = query.userName;
        var p_bill_type_id = 100;
        var p_transction_no = 104;
        if (p_section_code.IsNullOrEmpty())
        {
            throw new Exception("请扫库位条码!");
        }
        var c_depot_code = 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) => b.DepotId).First();
        if (!c_depot_code.HasValue)
        {
            throw new Exception("库位编码" + p_section_code + " ä¸å­˜åœ¨ï¼Œè¯·ç¡®è®¤ï¼");
        }
        var mesDepotSections = Db.Queryable<MesDepotSections>()
            .Where(a => a.DepotSectionCode == p_section_code).First();
        if (mesDepotSections == null)
        {
            throw new Exception("库位编码" + p_section_code + " ä¸å­˜åœ¨ï¼Œè¯·ç¡®è®¤ï¼");
        }
        var c_mes_depots = Db.Queryable<MesDepots>()
            .Where(b => b.Guid == mesDepotSections.DepotGuid).First();
        if (c_mes_depots == null)
        {
            throw new Exception("库位编码" + p_section_code + " ä¸å­˜åœ¨ï¼Œè¯·ç¡®è®¤ï¼");
        }
        var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) =>
                new JoinQueryInfos(JoinType.Inner, a.Guid == b.ItemInId))
            .Where((a, b) => b.ItemBarcode == p_item_barcode
                             && a.BillTypeId == p_bill_type_id &&
                             a.TransctionNo == p_transction_no.ToString())
            .Count();
        if (c_num > 0)
        {
            throw new Exception("此条码已扫入库,勿重复扫描!");
        }
        c_num = Db.Queryable<MesInvItemStocks>()
            .Where(t => t.ItemBarcode == p_item_barcode).Count();
        if (c_num > 0)
        {
            throw new Exception("此条码已扫入库,勿重复扫描!");
        }
        var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>()
            .Where(t => t.ItemBarcode == p_item_barcode).First();
        if (c_mes_inv_item_barcodes == null)
        {
            throw new Exception("此条码不属于该退料单,请核对!");
        }
        if (c_mes_inv_item_barcodes.Memo != "生产退料")
        {
            throw new Exception("此条码不是生产退料条码,不可使用生产退料模块!");
        }
        var C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>()
            .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo
                        && (a.Tbl013 ?? 0) == 1).First();
        if (C_MES_ITEM_TBL == null)
        {
            throw new Exception("申请单已撤回,无法扫码!");
        }
        if (C_MES_ITEM_TBL.Tbl020 == 1)
        {
            throw new Exception("扫码完成,申请单已完结!");
        }
        var C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>()
            .Where(a => a.Tlmid == C_MES_ITEM_TBL.Id
                        && a.Tld010 == c_mes_inv_item_barcodes.WorkLine)
            .First();
        if (C_MES_ITEM_TBL_DETAIL == null)
        {
            throw new Exception("条码不属于该申请单明细,无法扫码!");
        }
        var c_quantity = c_mes_inv_item_barcodes.Quantity;
        var c_bill_no = "";
        var c_id = Guid.Empty;
        UseTransaction(db =>
        {
            var mesInvItemIns = db.Queryable<MesInvItemIns>()
                .Where(d =>
                    d.Status == 0 && d.TransctionNo ==
                                  p_transction_no.ToString()
                                  && d.CbillNo == c_mes_inv_item_barcodes.BillNo
                                  && d.DepotsId == c_depot_code
                                  && d.InsDate.Value.ToString("yyyyMMdd") ==
                                  DateTime.Now.ToString("yyyyMMdd")).First();
            var totalResult = 0;
            if (mesInvItemIns == null)
            {
                c_bill_no = BillNo.GetBillNo("IN(入库单)");
                c_id = Guid.NewGuid();
                totalResult += db.Insertable(new MesInvItemIns
                {
                    Guid = c_id,
                    BillNo = c_bill_no,
                    BillTypeId = p_bill_type_id,
                    UserNoBack = c_user,
                    Reason = C_MES_ITEM_TBL.Tbl005,
                    Remark = C_MES_ITEM_TBL.Tbl006,
                    InsDate = DateTime.Now,
                    // DepotsCode = c_depot_code,
                    DepotsId = c_depot_code,
                    TransctionNo = p_transction_no.ToString(),
                    CreateBy = c_user,
                    CreateDate = DateTime.Now,
                    LastupdateBy = c_user,
                    LastupdateDate = DateTime.Now,
                    CbillNo = C_MES_ITEM_TBL.BillNo,
                    RbillNo = C_MES_ITEM_TBL.Tbl002
                }).IgnoreColumns(true).ExecuteCommand();
            }
            else
            {
                c_id = mesInvItemIns.Guid;
                c_bill_no = mesInvItemIns.BillNo;
            }
            var hbdy = c_mes_inv_item_barcodes.Hbdy ?? 0;
            if (hbdy == 1)
            {
                throw new Exception("不支持合并打印的条码:" + p_item_barcode);
            }
            totalResult += db.Insertable(new MesInvItemInCDetails
            {
                Guid = Guid.NewGuid(),
                ItemInId = c_id,
                BillNo = c_bill_no,
                ItemBarcode = p_item_barcode,
                Quantity = c_quantity,
                BarcodeFlag = true,
                EpFlag = true,
                WorkType = 1,
                ItemId = c_mes_inv_item_barcodes.ItemId,
                ItemNo = c_mes_inv_item_barcodes.ItemNo,
                LotNo = c_mes_inv_item_barcodes.LotNo,
                SuppId = c_mes_inv_item_barcodes.SuppId,
                SuppNo = c_mes_inv_item_barcodes.SuppNo,
                DepotId = c_mes_depots.DepotId,
                DepotCode = c_mes_depots.DepotCode,
                DepotSectionCode = p_section_code,
                ItemSname = c_mes_inv_item_barcodes.ItemSname,
                Unit = c_mes_inv_item_barcodes.Unit,
                CreateBy = c_user,
                CreateDate = DateTime.Now,
                LastupdateBy = c_user,
                LastupdateDate = DateTime.Now,
                Remark = c_mes_inv_item_barcodes.Memo,
                Ebeln = c_mes_inv_item_barcodes.Mblnr,
                EbelnLineNo = c_mes_inv_item_barcodes.Zeile,
                WorkNo = c_mes_inv_item_barcodes.WorkNo,
                WorkLine = c_mes_inv_item_barcodes.WorkLine,
                CbillNo = c_mes_inv_item_barcodes.BillNo,
                UrgentFlag = c_mes_inv_item_barcodes.UrgentFlag,
                BoardStyle = c_mes_inv_item_barcodes.BoardStyle,
                TaskNo = c_mes_inv_item_barcodes.TaskNo,
                RbillNo = C_MES_ITEM_TBL.Tbl002
            }).IgnoreColumns(true).ExecuteCommand();
            totalResult += db.Insertable(new MesInvBusiness2
            {
                Guid = Guid.NewGuid(),
                Status = 1,
                BillTypeId = p_bill_type_id,
                TransactionCode = p_transction_no.ToString(),
                BusinessType = 1,
                ItemBarcode = p_item_barcode,
                ItemNo = c_mes_inv_item_barcodes.ItemNo,
                LotNo = c_mes_inv_item_barcodes.LotNo,
                EpFlag = true,
                Quantity = c_mes_inv_item_barcodes.Quantity,
                ToInvDepotsCode = c_mes_depots.DepotCode,
                InvDepotId = c_depot_code,
                ToInvDepotSectionsCode = p_section_code,
                Description = "生产退料",
                CreateBy = c_user,
                CreateDate = DateTime.Now,
                LastupdateBy = c_user,
                LastupdateDate = DateTime.Now,
                TaskNo = c_mes_inv_item_barcodes.TaskNo,
                BillNo = c_bill_no,
                WorkNo = c_mes_inv_item_barcodes.WorkNo,
                WorkLine = c_mes_inv_item_barcodes.WorkLine,
                SuppId = c_mes_inv_item_barcodes.SuppId,
                SuppNo = c_mes_inv_item_barcodes.SuppNo,
                ItemId = c_mes_inv_item_barcodes.ItemId
            }).IgnoreColumns(true).ExecuteCommand();
            totalResult += db.Insertable(new MesInvItemStocks
            {
                Guid = Guid.NewGuid(),
                TaskNo = c_mes_inv_item_barcodes.TaskNo,
                ItemBarcode = p_item_barcode,
                ItemNo = c_mes_inv_item_barcodes.ItemNo,
                LotNo = c_mes_inv_item_barcodes.LotNo,
                Quantity = c_mes_inv_item_barcodes.Quantity,
                EpFlag = c_mes_inv_item_barcodes.EpFlag.Value
                    ? (byte)1
                    : (byte)0,
                DepotId = c_mes_depots.DepotId,
                DepotsCode = c_mes_depots.DepotCode,
                DepotSectionsCode = p_section_code,
                CheckDate = c_mes_inv_item_barcodes.CreateDate,
                IndepDate = DateTime.Now,
                BoardStyle = c_mes_inv_item_barcodes.BoardStyle,
                WorkNo = c_mes_inv_item_barcodes.WorkNo,
                WorkLine = c_mes_inv_item_barcodes.WorkLine,
                SuppNo = c_mes_inv_item_barcodes.SuppNo,
                ItemId = c_mes_inv_item_barcodes.ItemId
            }).IgnoreColumns(true).ExecuteCommand();
            // æ ¹æ®é€€æ–™ç±»åž‹(良品退料、来料不良退料、作业不良退料)更新相关数据
            if (C_MES_ITEM_TBL.Tbl005 is "良品退料" or "来料不良退料")
            {
                // è‰¯å“é€€æ–™ - æ›´æ–°å·¥å•表(WOMDAB)相关数量
                if (C_MES_ITEM_TBL.Tbl005 == "良品退料")
                {
                    totalResult += Db.Updateable<Womdab>()
                        .SetColumns(it => new Womdab
                        {
                            Dab007 = it.Dab007 - c_mes_inv_item_barcodes.Quantity,  // å‡å°‘工单数量
                            Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ é€€æ–™æ•°é‡
                            LpTl = (it.LpTl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ è‰¯å“é€€æ–™æ•°é‡
                            Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity  // å‡å°‘已发料数量
                        })
                        .Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
                            && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
                            && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
                        .ExecuteCommand();
                }
                // æ¥æ–™ä¸è‰¯é€€æ–™ - æ›´æ–°å·¥å•表(WOMDAB)相关数量
                else if (C_MES_ITEM_TBL.Tbl005 == "来料不良退料")
                {
                    totalResult += Db.Updateable<Womdab>()
                        .SetColumns(it => new Womdab
                        {
                            Dab007 = it.Dab007 - c_mes_inv_item_barcodes.Quantity,  // å‡å°‘工单数量
                            Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ é€€æ–™æ•°é‡
                            LlBl = (it.LlBl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ æ¥æ–™ä¸è‰¯æ•°é‡
                            Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity  // å‡å°‘已发料数量
                        })
                        .Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
                            && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
                            && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
                        .ExecuteCommand();
                }
                // æ›´æ–°é€€æ–™å•明细表已退数量
                totalResult += Db.Updateable<MesItemTblDetail>()
                    .SetColumns(it => new MesItemTblDetail
                    {
                        Tld006 = (it.Tld006 ?? 0) + (int)c_mes_inv_item_barcodes.Quantity  // å¢žåŠ å·²é€€æ•°é‡
                    })
                    .Where(it => it.Tlmid == C_MES_ITEM_TBL.Id
                        && it.Tld009 == c_mes_inv_item_barcodes.ItemId
                        && it.Tld010 == c_mes_inv_item_barcodes.WorkLine)
                    .ExecuteCommand();
            }
            // ä½œä¸šä¸è‰¯é€€æ–™ - æ›´æ–°å·¥å•表和退料单明细表
            else if (C_MES_ITEM_TBL.Tbl005 == "作业不良退料")
            {
                totalResult += Db.Updateable<Womdab>()
                    .SetColumns(it => new Womdab
                    {
                        Dab022 = (it.Dab022 ?? 0) + c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ é€€æ–™æ•°é‡
                        ZyBl = (it.ZyBl ?? 0) + (int)c_mes_inv_item_barcodes.Quantity,  // å¢žåŠ ä½œä¸šä¸è‰¯æ•°é‡
                        Dab020 = (it.Dab020 ?? 0) - c_mes_inv_item_barcodes.Quantity  // å‡å°‘已发料数量
                    })
                    .Where(it => it.Dab001 == c_mes_inv_item_barcodes.WorkNo
                        && it.Dab002 == c_mes_inv_item_barcodes.WorkLine
                        && it.Dab003 == c_mes_inv_item_barcodes.ItemId.ToString())
                    .ExecuteCommand();
                // æ›´æ–°é€€æ–™å•明细表已退数量
                totalResult += Db.Updateable<MesItemTblDetail>()
                    .SetColumns(it => new MesItemTblDetail
                    {
                        Tld006 = (it.Tld006 ?? 0) + (int)c_mes_inv_item_barcodes.Quantity  // å¢žåŠ å·²é€€æ•°é‡
                    })
                    .Where(it => it.Tlmid == C_MES_ITEM_TBL.Id
                        && it.Tld009 == c_mes_inv_item_barcodes.ItemId
                        && it.Tld010 == c_mes_inv_item_barcodes.WorkLine)
                    .ExecuteCommand();
            }
            // å¦‚果待退数量等于本次退料数量,则更新明细完成状态
            if ((C_MES_ITEM_TBL_DETAIL.Tld005 ?? 0) - (C_MES_ITEM_TBL_DETAIL.Tld006 ?? 0) == c_mes_inv_item_barcodes.Quantity)
            {
                totalResult += Db.Updateable<MesItemTblDetail>()
                    .SetColumns(it => new MesItemTblDetail { Tld008 = 1 })  // è®¾ç½®å®Œæˆæ ‡å¿—
                    .Where(it => it.Tlid == C_MES_ITEM_TBL_DETAIL.Tlid)
                    .ExecuteCommand();
            }
            // æ£€æŸ¥é€€æ–™å•是否所有明细都已完成
            var remainingCount = Db.Queryable<MesItemTbl, MesItemTblDetail>((a, b) =>
                new JoinQueryInfos(JoinType.Left, a.Id == b.Tlmid))
                .Where((a, b) => a.BillNo == p_bill_no && (b.Tld005 ?? 0) - (b.Tld006 ?? 0) > 0)
                .Count();
            // å¦‚果所有明细都已完成,则更新退料单状态为已完成
            if (remainingCount < 1)
            {
                totalResult += Db.Updateable<MesItemTbl>()
                    .SetColumns(it => it.Tbl020 == 1 )  // è®¾ç½®å®Œæˆæ ‡å¿—
                    .Where(it => it.BillNo == p_bill_no)
                    .ExecuteCommand();
            }
            if (totalResult < 3)
            {
                throw new Exception("插入失败");
            }
            return totalResult;
        });
        // è®¾ç½®è¿”回结果
        // c_result = $"001[,{c_mes_inv_item_barcodes.ItemNo},{c_quantity},扫码成功!,参考库位@物料@待退数量{c_in_field_valT}";
        return true;
    }
}
service/Warehouse/WomdaaManager.cs
@@ -32,23 +32,13 @@
    public ProductionPickDto ScanCode(WarehouseQuery query)
    {
        string _strMsg = "";
        string _intSum = "";
        var _strMsg = "";
        var _intSum = "";
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            if (query.userName.IsNullOrEmpty())
            {
                throw new Exception("用户名不允许为空");
            }
            if (query.daa001.IsNullOrEmpty())
            {
                throw new Exception("领料单号不允许为空");
            }
            if (query.barcode.IsNullOrEmpty())
            {
                throw new Exception("条码不允许为空");
            }
            if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空");
            if (query.daa001.IsNullOrEmpty()) throw new Exception("领料单号不允许为空");
            if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
                
            using (var cmd =new SqlCommand("[prc_pda_SCLL]", conn))
            {
@@ -80,10 +70,7 @@
                    var splitNum = parameters[3].Value.ToString();
                    var result = Convert.ToInt32(_intSum);
                    if (result <= 0)
                    {
                        throw new Exception(_strMsg);
                    }
                    if (result <= 0) throw new Exception(_strMsg);
                    
                    var dto = new ProductionPickDto
                    {
@@ -94,7 +81,6 @@
                    };
                    return dto;
                }
                catch (Exception ex)
                {
@@ -111,27 +97,14 @@
    //prC_pda_SCLL_CF
    public ProductionPickDto ScanCodeCF(WarehouseQuery query)
    {
        if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空");
        if (query.daa001.IsNullOrEmpty()) throw new Exception("领料单号不允许为空");
        if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
        
        if (query.userName.IsNullOrEmpty())
        {
            throw new Exception("用户名不允许为空");
        }
        if (query.daa001.IsNullOrEmpty())
        {
            throw new Exception("领料单号不允许为空");
        }
        if (query.barcode.IsNullOrEmpty())
        {
            throw new Exception("条码不允许为空");
        }
        if (query.Num is null or 0) throw new Exception("条码拆分数不允许为空或者为0");
        
        if (query.Num is null or 0)
        {
            throw new Exception("条码拆分数不允许为空或者为0");
        }
        string _strMsg = "";
        string _intSum = "";
        var _strMsg = "";
        var _intSum = "";
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd =new SqlCommand("[prc_pda_SCLL_CF]", conn))
@@ -147,7 +120,7 @@
                        new("@c_User", query.userName),
                        new("@p_biLL_no", query.daa001),
                        new("@p_item_barcode", query.barcode),
                        new("@num", query.Num),
                        new("@num", query.Num)
                    };
                    parameters[0].Direction = ParameterDirection.Output;
                    parameters[1].Direction = ParameterDirection.Output;
@@ -159,10 +132,7 @@
                    
                    var result = Convert.ToInt32(_intSum);
                    if (result <= 0)
                    {
                        throw new Exception(_strMsg);
                    }
                    if (result <= 0) throw new Exception(_strMsg);
                    
                    var dto = new ProductionPickDto
                    {
@@ -171,7 +141,6 @@
                    };
                    return dto;
                }
                catch (Exception ex)
                {
@@ -242,11 +211,12 @@
                DepotId = a.DepotId,
                WorkNo = a.WorkNo,
                DepotName = c.DepotName,
                Quantity = a.Quantity,
                Quantity = a.Quantity
            })
            .ToList();
        var womcaa = Db.Queryable<Womcaa>().Where(s=>s.Guid == womdaa.CaaGuid).First();
        var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid)
            .First();
        var dto = new ProductionPickDto
        {