瀏覽代碼

Merge branch 'master' of http://120.77.11.229:3000/ZTGT/WEBUI

林豪 左 6 月之前
父節點
當前提交
1dd59e2699

+ 48 - 37
WMS.BZModels/Dto/FJ/BillBom/BillBomsetgrpDto.cs

@@ -238,49 +238,60 @@ namespace WMS.BZModels.Dto.FJ.BillBom
         public string StampType { get; set; }
     }
 
-    /// <summary>
-    ///  排库
-    /// </summary>
-    public class BillPaiKuDto : PagerInfo
+    public class BillPaiKuDto 
     {
-        /// <summary> 
-        /// IsStop
-        /// </summary> 
-        public string IsStop { get; set; }
-
-        /// <summary> 
-        /// IsDelete
-        /// </summary> 
-        public string IsDelete { get; set; }
-        /// <summary> 
-        /// Code
-        /// </summary> 
-        public string Code { get; set; }
-
-        /// <summary> 
-        /// Name
-        /// </summary> 
-        public string Name { get; set; }
+        /// <summary>
+        /// 垛型id
+         /// </summary>
+        public long BomsetgrpId { get; set; }
 
-        /// <summary> 
-        /// 帘线物料编码
-        /// </summary> 
-        public string ProMaterCode { get; set; }
+        /// <summary>
+        /// 垛型名称
+        /// </summary>
+        public string BomsetgrpName { get; set; }
 
-        public string ShortCode { get; set; }
+        /// <summary>
+        /// 所属仓库Id
+        /// </summary>       
+        public long WarehouseId { get; set; }
 
+        /// <summary>
+        /// 所属仓库编码(1N,1S,2N,2S,3N,3S)
+        /// </summary>        
+        public string WarehouseCode { get; set; }
 
-        /// <summary> 
-        /// 投料物流编码
-        /// </summary> 
-        public string ProCode { get; set; }
+        /// <summary>
+        ///  垛型对应此仓库的占比
+        /// </summary>
+        public float Percent { get; set; }
+    }
+    /// <summary>
+    ///  排库
+    /// </summary>
+    public class BillPaiKuQueryDto : PagerInfo
+    {
+       
+        /// <summary>
+        /// 垛型id
+        /// </summary>
+        public long BomsetgrpId { get; set; }
+        /// <summary>
+        /// 垛型名称
+        /// </summary>
+        public string BomsetgrpName { get; set; }
+        /// <summary>
+        /// 所属仓库Id
+        /// </summary>       
+        public long WarehouseId { get; set; }
 
-        public string BomCode { get; set; }
+        /// <summary>
+        /// 所属仓库编码(1N,1S,2N,2S,3N,3S)
+        /// </summary>        
+        public string WarehouseCode { get; set; }
 
-        public string BomName { get; set; }
-        /// <summary> 
-        /// 跺型类型(区分表单)
-        /// </summary> 
-        public string StampType { get; set; }
+        /// <summary>
+        ///  垛型对应此仓库的占比
+        /// </summary>
+        public float Percent { get; set; }
     }
 }

+ 40 - 0
WMS.BZModels/Models/FJ/BillPaiKu.cs

@@ -0,0 +1,40 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WMS.BZModels.Models.FJ
+{
+    /// <summary>
+    ///  排库表
+    /// </summary>
+    [Tenant("fj")]
+    [SugarTable("Bill_PaiKu")]
+    public partial class BillPaiKu : BaseModel
+    {
+        /// <summary>
+        /// 垛型ID
+        /// </summary>
+        [SugarColumn(ColumnDataType = "bigint", IsNullable = false)]
+        public long BomsetgrpId { get; set; }
+
+        /// <summary>
+        /// 所属仓库Id
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50)]
+        public long WarehousId { get; set; }
+
+        /// <summary>
+        /// 所属仓库编码(1N,1S,2N,2S,3N,3S)
+        /// </summary>
+        [SugarColumn(ColumnDataType = "nvarchar", Length = 50)]
+        public string WarehouseCode { get; set; }
+
+        /// <summary>
+        ///  垛型对应此仓库的占比
+        /// </summary>
+        public float Percent { get; set; }
+    }
+}

+ 123 - 4
WMS.BZServices/FJ/BillBomSetService.cs

@@ -8,6 +8,8 @@ using Mapster;
 using FreeRedis;
 using Org.BouncyCastle.Crypto;
 using System.Collections.Generic;
+using WMS.BZModels.Models.FJ;
+using NPOI.SS.Formula.Functions;
 
 namespace WMS.BZServices.FJ
 {
@@ -17,17 +19,20 @@ namespace WMS.BZServices.FJ
         private readonly Repository<BillBomsetinfo> _billBomsetinfoRepository;
         private readonly Repository<BillBominfo> _billBominfoRepository;
         private readonly Repository<BaseMatinfo> _matinforepository;
+        private readonly Repository<BillPaiKu> _billPaiKurepository;
 
         public BillBomSetService(Repository<BillBomsetgrp> billBomsetgrpRepository,
             Repository<BillBomsetinfo> billBomsetinfoRepository,
             Repository<BillBominfo> billBominfoRepository,
-            Repository<BaseMatinfo> matinforepository)
+            Repository<BaseMatinfo> matinforepository,
+            Repository<BillPaiKu> billPaiKurepository)
         {
             _billBomsetgrpRepository = billBomsetgrpRepository;
             _billBomsetinfoRepository = billBomsetinfoRepository;
 
             _billBominfoRepository = billBominfoRepository;
             _matinforepository = matinforepository;
+            _billPaiKurepository = billPaiKurepository;          
         }
 
         public PagedInfo<BillBomsetgrpDto> GetPageList(Pagination pagination, BillBomsetgrpQueryDto billBomsetgrpQueryDto)
@@ -38,14 +43,72 @@ namespace WMS.BZServices.FJ
             return list;
         }
 
-        public PagedInfo<BillBomsetgrpDto> GetPaiKuList(Pagination pagination, BillBomsetgrpQueryDto billBomsetgrpQueryDto)
+        public PagedInfo<BillPaiKuDto> GetPaiKuList(Pagination pagination, BillPaiKuQueryDto billPaiKuQueryDto)
         {
-            var list = GetQueryable(billBomsetgrpQueryDto)
-                 .ToPage<BillBomsetgrp, BillBomsetgrpDto>(pagination);
+            //var list = GetQueryablePK(billPaiKuQueryDto)
+            //     .ToPage<BillPaiKu, BillPaiKuDto>(pagination);
+
+            //return list;
+            var predicate = Expressionable.Create<BillPaiKu, BillBomsetgrp>();
+
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.KeyWord), (paiku, bomsetgrp) => paiku.WarehouseCode.Contains(billPaiKuQueryDto.KeyWord));
+            //|| m.ProCode.Contains(billPaiKuQueryDto.KeyWord) || m.ProMaterCode.Contains(billPaiKuQueryDto.KeyWord) || m.ShortCode.ToString().Contains(billPaiKuQueryDto.KeyWord));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.WarehouseId.ToString()), (paiku, bomsetgrp) => paiku.WarehousId.ToString().Contains(billPaiKuQueryDto.WarehouseId.ToString()));
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.BomsetgrpId.ToString()), (paiku, bomsetgrp) => paiku.BomsetgrpId.ToString().Contains(billPaiKuQueryDto.BomsetgrpId.ToString()));
+
+            predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.BomsetgrpName), (paiku, bomsetgrp) =>bomsetgrp.Code.Contains(billPaiKuQueryDto.BomsetgrpName));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.ProMaterCode), m => m.ProMaterCode.Contains(billPaiKuQueryDto.ProMaterCode));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.BomName), m => m.BomName.Contains(billPaiKuQueryDto.BomName));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.ProCode), m => m.ProCode.Contains(billPaiKuQueryDto.ProCode));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.StampType), m => m.StampType.Equals(billPaiKuQueryDto.StampType));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.IsStop), m => m.IsStop.Equals(billPaiKuQueryDto.IsStop));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.IsDelete), m => m.IsDelete.Equals(billPaiKuQueryDto.IsDelete));
 
+            var list = _billPaiKurepository.Context.Queryable<BillPaiKu, BillBomsetgrp>((paiku, bomsetgrp) => new object[] { JoinType.Left, paiku.BomsetgrpId == bomsetgrp.Id,
+                                                                                                                                                        }).Where(predicate.ToExpression())
+                .Select((paiku, bomsetgrp) => new BillPaiKuDto
+                {
+                    BomsetgrpId = paiku.BomsetgrpId,
+                    BomsetgrpName = bomsetgrp.Code,
+                    WarehouseId = paiku.WarehousId,
+                    WarehouseCode = paiku.WarehouseCode,
+                    Percent = paiku.Percent
+                }).MergeTable()
+                 .ToPage(pagination);            
             return list;
+
         }
 
+        //private ISugarQueryable<BillPaiKu> GetQueryablePK(BillPaiKuQueryDto billPaiKuQueryDto)
+        //{
+        //    var predicate = Expressionable.Create<BillPaiKu,BillBomsetgrp,BaseWarehouse>();
+
+        //    predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.KeyWord), (paiku, bomsetgrp, warehouse) => paiku.WarehouseCode.Contains(billPaiKuQueryDto.KeyWord));
+        //    //|| m.ProCode.Contains(billPaiKuQueryDto.KeyWord) || m.ProMaterCode.Contains(billPaiKuQueryDto.KeyWord) || m.ShortCode.ToString().Contains(billPaiKuQueryDto.KeyWord));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.Code), m => m.Code.Contains(billPaiKuQueryDto.Code));
+            //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.Name), m => m.Name.Contains(billPaiKuQueryDto.Name));
+
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.ShortCode), m => m.ShortCode.ToString().Contains(billPaiKuQueryDto.ShortCode));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.ProMaterCode), m => m.ProMaterCode.Contains(billPaiKuQueryDto.ProMaterCode));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.BomName), m => m.BomName.Contains(billPaiKuQueryDto.BomName));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.ProCode), m => m.ProCode.Contains(billPaiKuQueryDto.ProCode));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.StampType), m => m.StampType.Equals(billPaiKuQueryDto.StampType));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.IsStop), m => m.IsStop.Equals(billPaiKuQueryDto.IsStop));
+        //    //predicate = predicate.AndIF(!string.IsNullOrEmpty(billPaiKuQueryDto?.IsDelete), m => m.IsDelete.Equals(billPaiKuQueryDto.IsDelete));
+
+        //    var sugarQueryable = _billPaiKurepository.Context.Queryable<BillPaiKu, BillBomsetgrp, BaseWarehouse>((paiku, bomsetgrp, warehouse) => new object[] { JoinType.Left, paiku.BomsetgrpId == bomsetgrp.Id, paiku.WarehousId == warehouse.Id }).Where(predicate.ToExpression())
+        //        .Select((paiku, bomsetgrp, warehous) => new BillPaiKuQueryDto
+        //        {
+        //            BomsetgrpId = paiku.BomsetgrpId,
+        //            BomsetgrpName = bomsetgrp.Code,
+        //            WarehouseId = paiku.WarehousId,
+        //            WarehouseCode = paiku.WarehouseCode
+        //        }).MergeTable()
+        //         .ToList();
+        //    //_billPaiKurepository.Queryable().Where(predicate.ToExpression());
+        //    return sugarQueryable;
+        //}
+
         private ISugarQueryable<BillBomsetgrp> GetQueryable(BillBomsetgrpQueryDto billBomsetgrpQueryDto)
         {
             var predicate = Expressionable.Create<BillBomsetgrp>();
@@ -337,6 +400,48 @@ namespace WMS.BZServices.FJ
             }
         }
 
+        public void SavePK(LoginUserInfo loginUser, string keyValue, BillPaiKu billPaiKuEntity)
+        {
+            try
+            {
+                if (billPaiKuEntity.BomsetgrpId <= 0)
+                {
+                    throw BZSysExCore.ThrowFailException("垛型编码有误!");
+                }
+                if (billPaiKuEntity.WarehousId <= 0)
+                {
+                    throw BZSysExCore.ThrowFailException("仓库id有误!");
+                }
+
+                var code = _billPaiKurepository.Context.Queryable<BaseWarehouse>().Where(x => x.Id == billPaiKuEntity.WarehousId);
+                if (code == null)
+                {
+                    throw BZSysExCore.ThrowFailException($"未找到对应仓库{billPaiKuEntity.WarehousId}!");
+                }
+
+                var percent = _billPaiKurepository.Context.Queryable<BillPaiKu>().Where(x => x.BomsetgrpId == billPaiKuEntity.BomsetgrpId && x.WarehouseCode == billPaiKuEntity.WarehouseCode).Sum(x => x.Percent);
+                if (Math.Ceiling(percent) >= 100)
+                {
+                    throw BZSysExCore.ThrowFailException($"{billPaiKuEntity.WarehouseCode}超过最大占比,请重新调整!");
+                }
+
+                BillPaiKu item = new BillPaiKu()
+                {
+                    BomsetgrpId = billPaiKuEntity.BomsetgrpId,
+                    WarehousId = billPaiKuEntity.WarehousId,
+                    WarehouseCode = billPaiKuEntity.WarehouseCode,
+                    Percent = billPaiKuEntity.Percent
+                };
+                _billPaiKurepository.Insert(item);
+            }
+            catch (Exception ex)
+            {
+                throw BZSysExCore.ThrowFailException(ex.Message);
+            }
+
+
+        }
+
         public void Save(LoginUserInfo loginUser, string keyValue, BillBomsetgrp billBomsetgrpEntity, IList<BillBomsetinfo> billBomsetinfos)
         {
             if (string.IsNullOrWhiteSpace(billBomsetgrpEntity.Code))
@@ -778,6 +883,20 @@ namespace WMS.BZServices.FJ
             return -1;
         }
 
+        public void DeletePK(long id)
+        {
+            try
+            {
+                _billPaiKurepository.Deleteable().Where(o => o.Id == id).ExecuteCommand();
+            }
+            catch (Exception ex)         
+            {
+                throw ex;
+            }
+            
+           
+        }
+
         public void Delete(long id)
         {
             var entity = _billBomsetgrpRepository.GetSingle(o => o.Id == id);

+ 1 - 0
WMS.BZWeb/Areas/FJManager/Controllers/BillBomInfoController.cs

@@ -33,6 +33,7 @@ namespace WMS.BZWeb.Areas.FJManager.Controllers
 
         #endregion
 
+        
         public ActionResult GetPageList(string pagination, string queryJson)
         {
             Pagination paginationobj = InitPagination(pagination);

+ 21 - 3
WMS.BZWeb/Areas/FJManager/Controllers/BillBomSetController.cs

@@ -4,6 +4,7 @@ using Newtonsoft.Json;
 using wms.sqlsugar.model.fj;
 using WMS.BZModels;
 using WMS.BZModels.Dto.FJ.BillBom;
+using WMS.BZModels.Models.FJ;
 using WMS.BZServices.FJ;
 using WMS.Info;
 using WMS.Util;
@@ -85,13 +86,13 @@ namespace WMS.BZWeb.Areas.FJManager.Controllers
         public ActionResult GetPaiKuList(string pagination, string queryJson)
         {
             Pagination paginationobj = InitPagination(pagination);
-            var query = new BillPaiKuDto();
+            var query = new BillPaiKuQueryDto();
             if (!string.IsNullOrEmpty(queryJson))
             {
-                query = JsonConvert.DeserializeObject<BillPaiKuDto>(queryJson);
+                query = JsonConvert.DeserializeObject<BillPaiKuQueryDto>(queryJson);
             }
 
-            var lists = _billBomSetService.GetPageList(paginationobj, query ?? new BillPaiKuDto());
+            var lists = _billBomSetService.GetPaiKuList(paginationobj, query ?? new BillPaiKuQueryDto());
 
             var jsonData = new
             {
@@ -152,6 +153,23 @@ namespace WMS.BZWeb.Areas.FJManager.Controllers
             _billBomSetService.Save(LoginUser, keyValue, Data.Adapt<BillBomsetgrp>(), Data.Bomsetinfos.Adapt<List<BillBomsetinfo>>());
             return Success("保存成功。");
         }
+
+        [HttpPost]
+        public ActionResult SaveFormPK(string keyValue, BillPaiKu Data)
+        {
+            LoginUserInfo LoginUser = GetLoginUser();
+            _billBomSetService.SavePK(LoginUser,keyValue,Data);
+            return Success("保存成功");
+        }
+
+
+        [HttpPost]
+        public ActionResult DeletePK(long keyValue)
+        {
+            _billBomSetService.DeletePK(keyValue);
+            return Success("删除成功。");
+        }
+
         [HttpPost]
         public ActionResult SaveExceptionForm(string keyValue, BillBomsetDto Data)
         {

+ 28 - 0
WMS.BZWeb/Areas/FJManager/Views/BillBomSet/Form.cshtml

@@ -0,0 +1,28 @@
+@using WMS.BZWeb;
+@{
+    ViewBag.Title = "新增记录";
+    Layout = "~/Views/Shared/_Form.cshtml";
+}
+<div class="lr-form-wrap" id="form">
+    <div class="col-xs-6 lr-form-item">
+        <div class="lr-form-item-title">垛型编码<font face="宋体">*</font></div>
+        <input id="BomsetgrpId" type="text" class="form-control" placeholder="请输入垛型编码" isvalid="yes" checkexpession="NotNull" />
+    </div>
+    @* <div class="col-xs-6 lr-form-item">
+        <div class="lr-form-item-title">垛型名称<font face="宋体">*</font></div>
+        <input id="BomsetgrpName" type="text" class="form-control" placeholder="请输入物料名称" isvalid="yes" checkexpession="NotNull" />
+    </div> *@
+    <div class="col-xs-6 lr-form-item">
+        <div class="lr-form-item-title">所属仓库<font face="宋体"></font></div>
+        <input id="WarehousId" type="text" class="form-control" placeholder="请输入所属仓库" />
+    </div>
+    @* <div class="col-xs-6 lr-form-item">
+        <div class="lr-form-item-title">所属仓库编码<font face="宋体"></font></div>
+        <input id="WarehouseCode" type="text" class="form-control" placeholder="请输入镀层" />
+    </div> *@
+    <div class="col-xs-6 lr-form-item">
+        <div class="lr-form-item-title">垛型对应仓库占比<font face="宋体"></font></div>
+        <input id="Percent" type="text" class="form-control" placeholder="请输入对应仓库占比" />
+    </div>    
+</div>
+@Html.AppendJsFile("/Areas/FJManager/Views/BillBomSet/Form.js")

+ 39 - 0
WMS.BZWeb/Areas/FJManager/Views/BillBomSet/Form.js

@@ -0,0 +1,39 @@
+/*
+ * 描 述:功能模块	
+ */
+var acceptClick;
+var keyValue = '';
+var bootstrap = function ($, learun) {
+    "use strict";
+    var selectedRow = learun.frameTab.currentIframe().selectedRow || {};
+    var page = {
+        init: function () {
+            page.bind();
+            page.initData();
+        },
+        /*绑定事件和初始化控件*/
+        bind: function () {
+           
+        },
+        /*初始化数据*/
+        initData: function () {
+            if (!!selectedRow) {
+                keyValue = selectedRow.Code;
+                $('#form').lrSetFormData(selectedRow);
+            }
+        }
+    };
+    acceptClick = function (callBack) {
+        if (!$('#form').lrValidform()) {
+            return false;
+        }
+        var postData = $('#form').lrGetFormData(keyValue);
+        $.lrSaveForm(top.$.rootUrl + '/FJManager/BillBomSet/SaveForm?keyValue=' + keyValue, postData, function (res) {
+            // 保存成功后才回调
+            if (!!callBack) {
+                callBack();
+            }
+        });
+    };
+    page.init();
+}

+ 9 - 24
WMS.BZWeb/Areas/FJManager/Views/BillBomSet/PaiKu.cshtml

@@ -19,37 +19,22 @@
                         <div id="multiple_condition_query">
                             <div class="lr-query-formcontent">
                                 <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">编号</div>
-                                    <input id="Code" type="text" class="form-control" placeholder="请输入查询编号" />
+                                    <div class="lr-form-item-title">垛型ID</div>
+                                    <input id="BomsetgrpId" type="text" class="form-control" placeholder="请输入查询垛型id" />
                                 </div>
                                 <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">名称</div>
-                                    <input id="Name" type="text" class="form-control" placeholder="请输入查询名称" />
+                                    <div class="lr-form-item-title">所属仓库Id</div>
+                                    <input id="WarehousId" type="text" class="form-control" placeholder="请输入查询所属仓库id" />
                                 </div>
                                 <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">短编号</div>
-                                    <input id="ShortCode" type="text" class="form-control" placeholder="请输入查询短编号" />
+                                    <div class="lr-form-item-title">所属仓库编码</div>
+                                    <input id="WarehouseCode" type="text" class="form-control" placeholder="请输入查询所属仓库编码" />
                                 </div>
 
                                 <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">帘线物料</div>
-                                    <input id="ProMaterCode" type="text" class="form-control" placeholder="请输入查询帘线物料编码" />
-                                </div>
-                                <div class="col-xs-4 lr-form-item">
-                                    <div class="lr-form-item-title">投料物料</div>
-                                    <input id="BomCode" type="text" class="form-control" placeholder="请输入查询投料物料编码" />
-                                </div>                             
-                                <div class="col-xs-2 lr-form-item">
-                                    <div class="lr-form-item-title">是否禁用</div>
-                                    <div class="checkbox">
-                                        <label>
-                                            <input id="IsStop" type="checkbox" />
-                                            是
-                                        </label>
-                                    </div>
-                                </div>
-                                 
-
+                                    <div class="lr-form-item-title">对应仓库占比</div>
+                                    <input id="Percent" type="text" class="form-control" placeholder="请输入查询仓库占比" />
+                                </div>                               
                             </div>
                         </div>
                     </div>

+ 88 - 215
WMS.BZWeb/Areas/FJManager/Views/BillBomSet/PaiKu.js

@@ -128,7 +128,7 @@ var bootstrap = function ($, learun) {
                 if (learun.checkrow(keyValue)) {
                     learun.layerConfirm('是否确认删除该项!', function (res) {
                         if (res) {
-                            learun.deleteForm(top.$.rootUrl + '/FJManager/BillBomSet/Deletes', { keyValue: keyValue }, function () {
+                            learun.deleteForm(top.$.rootUrl + '/FJManager/BillBomSet/DeletePK', { keyValue: keyValue }, function () {
                                 refreshGirdData();
                             });
                         }
@@ -181,12 +181,13 @@ var bootstrap = function ($, learun) {
             $('#gridtable').jfGrid({
                 url: top.$.rootUrl + '/FJManager/BillBomSet/GetPaiKuList',
                 headData: [
-                    { label: '垛型编码', name: 'Code', width: 160, align: 'left' },
-                    { label: '垛型名称', name: 'Name', width: 160, align: 'left' },
-                    { label: '短编号', name: 'ShortCode', width: 50, align: 'left' },
-                    { label: '帘线物料编码', name: 'ProMaterCode', width: 100, align: 'left' },
-                    { label: '投料物料编码', name: 'ProCode', width: 180, align: 'left' },
-                    { label: '实际物料编码', name: 'BomCode', width: 180, align: 'left' },
+                    { label: '垛型编码', name: 'BomsetgrpId', width: 160, align: 'left' },
+                    { label: '垛型名称', name: 'BomsetgrpName', width: 160, align: 'left' },
+                    { label: '所属仓库id', name: 'WarehousId', width: 160, align: 'left' },
+                    { label: '所属仓库编码', name: 'WarehouseCode', width: 50, align: 'left' },
+                    { label: '垛型对应仓库占比', name: 'Percent', width: 100, align: 'left' },
+                    //{ label: '投料物料编码', name: 'ProCode', width: 180, align: 'left' },
+                    //{ label: '实际物料编码', name: 'BomCode', width: 180, align: 'left' },
                     //{
                     //    label: '投料物料名称', name: 'BomCode', width: 180, align: 'left', formatterAsync: function (callback, value, row) {
                     //        learun.httpAsync('GET', top.$.rootUrl + '/FJManager/BillBomInfo/GetList', { queryJson: JSON.stringify({ Code: value }) }, function (res) {
@@ -196,135 +197,7 @@ var bootstrap = function ($, learun) {
                     //        });
                     //    },
                     //},
-                    { label: '工字轮个数', name: 'HWCountQty', width: 70, align: 'left' },
-                    {
-                        label: '托盘类型', name: 'TpTypeCode', width: 60, align: 'left', formatter: function (cellvalue) {
-                            if (cellvalue == '1') {
-                                return '<span class=\"label label-success\"  >09</span>';
-                            } else if (cellvalue == '2') {
-                                return '<span class=\"label  label-default\" >非09</span>';
-                            } else {
-                                return '<span class=\"label  label-default\" >未知</span>';
-                            }
-                        }
-                    },
-                    { label: '层数', name: 'LayerCountQty', width: 40, align: 'left' },
-                    learun.jfFormatter.col_ISSTOP(),
-                    //{
-                    //    label: '是否删除', name: 'IsDelete', width: 60, align: "center"
-                    //    , formatter: function (cellvalue) {
-                    //        if (cellvalue == 0) {
-                    //            return '<span class=\"label label-success\"  >正常</span>';
-                    //        } else if (cellvalue == 1) {
-                    //            return '<span class=\"label  label-default\" >删除</span>';
-                    //        } else {
-                    //            return '<span class=\"label  label-default\" >未知</span>';
-                    //        }
-                    //    }
-                    //},
-                    {
-                        label: '子类型', name: 'StampChildType', width: 120, align: 'left', formatter: function (cellvalue, item) {
-                            if (item.StampType == '2') {
-                                if (cellvalue == '1') {
-                                    return '<span class=\"label label-default\"  >DOF2-01</span>';
-                                } else if (cellvalue == '2') {
-                                    return '<span class=\"label  label-default\" >DOF2-02</span>';
-                                } else if (cellvalue == '3') {
-                                    return '<span class=\"label  label-default\" >DOF2-03</span>';
-                                } else if (cellvalue == '4') {
-                                    return '<span class=\"label  label-default\" >DOF2-04</span>';
-                                } else if (cellvalue == '5') {
-                                    return '<span class=\"label  label-default\" >DOF2-05</span>';
-                                }
-                            }
-                            if (item.StampType == '3') {
-                                if (cellvalue == '1') {
-                                    return '<span class=\"label label-default\"  >DOF4-01</span>';
-                                } else if (cellvalue == '2') {
-                                    return '<span class=\"label  label-default\" >DOF4-02</span>';
-                                } else if (cellvalue == '3') {
-                                    return '<span class=\"label  label-default\" >DOF4-03</span>';
-                                } else if (cellvalue == '4') {
-                                    return '<span class=\"label  label-default\" >DOF4-04</span>';
-                                } else if (cellvalue == '5') {
-                                    return '<span class=\"label  label-default\" >DOF4-05</span>';
-                                } else if (cellvalue == '6') {
-                                    return '<span class=\"label  label-default\" >DOF4-06</span>';
-                                } else if (cellvalue == '7') {
-                                    return '<span class=\"label  label-default\" >DOF4-07</span>';
-                                }
-                            }
-                            else if (item.StampType == '4') {
-                                if (cellvalue == '1') {
-                                    return '<span class=\"label label-default\"  >DFM6-01</span>';
-                                } else if (cellvalue == '2') {
-                                    return '<span class=\"label  label-default\" >DFM6-02</span>';
-                                } else if (cellvalue == '3') {
-                                    return '<span class=\"label  label-default\" >DFM6-03</span>';
-                                } else if (cellvalue == '4') {
-                                    return '<span class=\"label  label-default\" >DFM6-04</span>';
-                                } else if (cellvalue == '5') {
-                                    return '<span class=\"label  label-default\" >DFM6-05</span>';
-                                } else if (cellvalue == '6') {
-                                    return '<span class=\"label  label-default\" >DFM6-06</span>';
-                                } else if (cellvalue == '7') {
-                                    return '<span class=\"label  label-default\" >DFM6-07</span>';
-                                } else if (cellvalue == '8') {
-                                    return '<span class=\"label  label-default\" >DFM6-08</span>';
-                                } else if (cellvalue == '9') {
-                                    return '<span class=\"label  label-default\" >DFM6-09</span>';
-                                }
-                            } else if (item.StampType == '5') {
-                                if (cellvalue == '1') {
-                                    return '<span class=\"label label-default\"  >DFM9-01</span>';
-                                } else if (cellvalue == '2') {
-                                    return '<span class=\"label  label-default\" >DFM9-02</span>';
-                                } else if (cellvalue == '3') {
-                                    return '<span class=\"label  label-default\" >DFM9-03</span>';
-                                } else if (cellvalue == '4') {
-                                    return '<span class=\"label  label-default\" >DFM9-04</span>';
-                                } else if (cellvalue == '5') {
-                                    return '<span class=\"label  label-default\" >DFM9-05</span>';
-                                } else if (cellvalue == '6') {
-                                    return '<span class=\"label  label-default\" >DFM9-06</span>';
-                                } else if (cellvalue == '7') {
-                                    return '<span class=\"label  label-default\" >DFM9-07</span>';
-                                } else if (cellvalue == '8') {
-                                    return '<span class=\"label  label-default\" >DFM9-08</span>';
-                                } else if (cellvalue == '9') {
-                                    return '<span class=\"label  label-default\" >DFM9-09</span>';
-                                }
-                            }
-                            else if (item.StampType == '6') {
-                                if (cellvalue == '1') {
-                                    return '<span class=\"label label-default\"  >WS34芯股--异常</span>';
-                                } else if (cellvalue == '2') {
-                                    return '<span class=\"label  label-default\" >WS18--异常</span>';
-                                } else if (cellvalue == '3') {
-                                    return '<span class=\"label  label-default\" >WS50--异常</span>';
-                                } else if (cellvalue == '4') {
-                                    return '<span class=\"label  label-default\" >WS09--异常</span>';
-                                }
-                            }
-                            else {
-                                return '<span class=\"label label-default\"  >无</span>';
-                            }
-                        }
-                    },
-                    {
-                        label: '是否桁架码垛', name: 'IsTruss', width: 80, align: 'left', formatter: function (cellvalue) {
-                            if (cellvalue == 1) {
-                                return '<span class=\"label label-success\"  >是</span>';
-                            } else if (cellvalue === '') {
-                                return '<span class=\"label  label-default\" >未知</span>';
-                            } else if (cellvalue === 0) {
-                                return '<span class=\"label  label-info\" >否</span>';
-                            } else {
-                                return '<span class=\"label  label-default\" >未知</span>';
-                            }
-                        }
-                    },
-
+                    
                     learun.jfFormatter.col_AddWho(),
                     learun.jfFormatter.col_AddTime(),
                     learun.jfFormatter.col_EditWho(),
@@ -337,85 +210,85 @@ var bootstrap = function ($, learun) {
                 reloadSelected: true,
                 sidx: 'Code',
                 isSubGrid: true,             // 是否有子表
-                subGridExpanded: function (subid, rowdata) {
-                    psuid = subid;
-                    $('#' + subid).jfGrid({
-                        url: top.$.rootUrl + '/FJManager/BillBomSet/GetPaiKuList',
-                        headData: [
-                            { label: '编号', name: 'XYNo', width: 40, align: 'left' },
-                            { label: '行', name: 'Row', width: 40, align: 'left' },
-                            { label: '物料编码', name: 'MatCode', width: 200, align: 'left' },
-                            { label: '物料Id', name: 'MatId', width: 150, align: 'left' },
-                            {
-                                label: '有/无', name: 'IsEmpty', width: 60, align: 'left', formatter: function (cellvalue) {
-                                    if (cellvalue == '0') {
-                                        return '<span class=\"label label-success\"  >有</span>';
-                                    } else if (cellvalue == '1') {
-                                        return '<span class=\"label  label-default\" >无</span>';
-                                    } else {
-                                        return '<span class=\"label  label-default\" >未知</span>';
-                                    }
-                                }
-                            },
-                            {
-                                label: '正/反面', name: 'SideNum', width: 70, align: 'left', formatter: function (cellvalue) {
-                                    if (cellvalue == '1') {
-                                        return '<span class=\"label label-success\"  >正面朝上</span>';
-                                    } else if (cellvalue == '2') {
-                                        return '<span class=\"label  label-default\" >反面朝上</span>';
-                                    } else {
-                                        return '<span class=\"label  label-default\" >未知</span>';
-                                    }
-                                }
-                            },
-                            { label: '工字轮型号', name: 'SpoolType', width: 80, align: 'left' },
-                            {
-                                label: '单/双丝', name: 'SilkType', width: 80, align: 'left', formatter: function (cellvalue) {
-                                    if (cellvalue == '1') {
-                                        return '<span class=\"label label-success\"  >单丝</span>';
-                                    } else if (cellvalue == '2') {
-                                        return '<span class=\"label  label-default\" >双丝</span>';
-                                    } else if (cellvalue == '3') {
-                                        return '<span class=\"label  label-default\" >三丝</span>';
-                                    }
-                                    else {
-                                        return '<span class=\"label  label-default\" >未知</span>';
-                                    }
-                                }
-                            },
-                            { label: '钢丝直径上限', name: 'SilkDiam', width: 100, align: 'left' },
-                            /* { label: '钢丝直径上限', name: 'SilkDiamMaxCount', width: 100, align: 'left' },*/
-                            { label: '数量上限', name: 'QtyMaxCount', width: 100, align: 'left' },
-                            {
-                                label: '是否芯股', name: 'IsCore', width: 100, align: 'left', formatter: function (cellvalue) {
-                                    if (cellvalue == '1') {
-                                        return '<span class=\"label label-success\"  >是</span>';
-                                    } else if (cellvalue == '2') {
-                                        return '<span class=\"label  label-default\" >否</span>';
-                                    }
-                                    else {
-                                        return '<span class=\"label  label-default\" >未知</span>';
-                                    }
-                                }
-                            },
-                            {
-                                label: '是混合行', name: 'IsMixRow', width: 100, align: 'left', formatter: function (cellvalue) {
-                                    if (cellvalue == '1') {
-                                        return '<span class=\"label label-success\"  >是</span>';
-                                    } else if (cellvalue == '0') {
-                                        return '<span class=\"label  label-default\" >否</span>';
-                                    }
-                                    else {
-                                        return '<span class=\"label  label-default\" >未知</span>';
-                                    }
-                                }
-                            },
-                            { label: '混合料行编码', name: 'MixRowCode', width: 100, align: 'left' },
-                            learun.jfFormatter.col_ISSTOP(),
-                        ]
-                    });
-                    $('#' + subid).jfGridSet('reloadSon', { bomSetHdrId: rowdata.Id });
-                },
+                //subGridExpanded: function (subid, rowdata) {
+                //    psuid = subid;
+                //    $('#' + subid).jfGrid({
+                //        url: top.$.rootUrl + '/FJManager/BillBomSet/GetPaiKuList',
+                //        headData: [
+                //            { label: '编号', name: 'XYNo', width: 40, align: 'left' },
+                //            { label: '行', name: 'Row', width: 40, align: 'left' },
+                //            { label: '物料编码', name: 'MatCode', width: 200, align: 'left' },
+                //            { label: '物料Id', name: 'MatId', width: 150, align: 'left' },
+                //            {
+                //                label: '有/无', name: 'IsEmpty', width: 60, align: 'left', formatter: function (cellvalue) {
+                //                    if (cellvalue == '0') {
+                //                        return '<span class=\"label label-success\"  >有</span>';
+                //                    } else if (cellvalue == '1') {
+                //                        return '<span class=\"label  label-default\" >无</span>';
+                //                    } else {
+                //                        return '<span class=\"label  label-default\" >未知</span>';
+                //                    }
+                //                }
+                //            },
+                //            {
+                //                label: '正/反面', name: 'SideNum', width: 70, align: 'left', formatter: function (cellvalue) {
+                //                    if (cellvalue == '1') {
+                //                        return '<span class=\"label label-success\"  >正面朝上</span>';
+                //                    } else if (cellvalue == '2') {
+                //                        return '<span class=\"label  label-default\" >反面朝上</span>';
+                //                    } else {
+                //                        return '<span class=\"label  label-default\" >未知</span>';
+                //                    }
+                //                }
+                //            },
+                //            { label: '工字轮型号', name: 'SpoolType', width: 80, align: 'left' },
+                //            {
+                //                label: '单/双丝', name: 'SilkType', width: 80, align: 'left', formatter: function (cellvalue) {
+                //                    if (cellvalue == '1') {
+                //                        return '<span class=\"label label-success\"  >单丝</span>';
+                //                    } else if (cellvalue == '2') {
+                //                        return '<span class=\"label  label-default\" >双丝</span>';
+                //                    } else if (cellvalue == '3') {
+                //                        return '<span class=\"label  label-default\" >三丝</span>';
+                //                    }
+                //                    else {
+                //                        return '<span class=\"label  label-default\" >未知</span>';
+                //                    }
+                //                }
+                //            },
+                //            { label: '钢丝直径上限', name: 'SilkDiam', width: 100, align: 'left' },
+                //            /* { label: '钢丝直径上限', name: 'SilkDiamMaxCount', width: 100, align: 'left' },*/
+                //            { label: '数量上限', name: 'QtyMaxCount', width: 100, align: 'left' },
+                //            {
+                //                label: '是否芯股', name: 'IsCore', width: 100, align: 'left', formatter: function (cellvalue) {
+                //                    if (cellvalue == '1') {
+                //                        return '<span class=\"label label-success\"  >是</span>';
+                //                    } else if (cellvalue == '2') {
+                //                        return '<span class=\"label  label-default\" >否</span>';
+                //                    }
+                //                    else {
+                //                        return '<span class=\"label  label-default\" >未知</span>';
+                //                    }
+                //                }
+                //            },
+                //            {
+                //                label: '是混合行', name: 'IsMixRow', width: 100, align: 'left', formatter: function (cellvalue) {
+                //                    if (cellvalue == '1') {
+                //                        return '<span class=\"label label-success\"  >是</span>';
+                //                    } else if (cellvalue == '0') {
+                //                        return '<span class=\"label  label-default\" >否</span>';
+                //                    }
+                //                    else {
+                //                        return '<span class=\"label  label-default\" >未知</span>';
+                //                    }
+                //                }
+                //            },
+                //            { label: '混合料行编码', name: 'MixRowCode', width: 100, align: 'left' },
+                //            learun.jfFormatter.col_ISSTOP(),
+                //        ]
+                //    });
+                //    $('#' + subid).jfGridSet('reloadSon', { bomSetHdrId: rowdata.Id });
+                //},
             });
             page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val(), StampType: stampType }) });
         },

+ 1 - 0
WMS.BZWeb/WMS.BZWeb.csproj

@@ -119,6 +119,7 @@
     </Content>
     <Content Include="Areas\CPManager\Views\Inventorys\FailForm.js" />
     <Content Include="Areas\FJManager\Views\BillBomSet\DFMAll.js" />
+    <Content Include="Areas\FJManager\Views\BillBomSet\Form.js" />
     <Content Include="Areas\FJManager\Views\BillBomSet\PaiKu.js">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
       <CopyToPublishDirectory>Always</CopyToPublishDirectory>