Administrator
2024-02-01 d5e7fc8d38fa867526c80d29c4e89792634ef690
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -39,10 +39,11 @@
            try
            {
                sqlCount += "SELECT DISTINCT COUNT(tb1.ID) FROM BllArrivalNotice AS tb1 ";
                sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName FROM BllArrivalNotice AS tb1 ";
                sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName,tb5.RealName as CheckUserName FROM BllArrivalNotice AS tb1 ";
                sqlPub += "LEFT JOIN BllArrivalNoticeDetail AS tb2 ON tb1.ASNNo = tb2.ASNNo ";
                sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id ";
                sqlPub += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id ";
                sqlPub += "LEFT JOIN SysUserInfor AS tb5 ON tb1.CheckUser = tb5.Id ";
                sqlPub += $"WHERE tb1.ASNNo LIKE '%{model.ASNNo}%' AND tb2.LotNo LIKE '%{model.LotNo}%' ";
                sqlPub += $"AND tb2.SkuNo  LIKE '%{model.SkuNo}%' AND tb2.SkuName  LIKE '%{model.SkuName}%' ";
                sqlPub += $"AND tb1.CustomerName  LIKE '%{model.CustomerName}%' ";
@@ -128,8 +129,34 @@
        {
            try
            {
                string skuType = string.Empty;
                switch(model.Type)//0:原料 1:包材 2:成品 3:耗材 4:半成品
                {
                    case "0"://成品入库
                        skuType = "(2)";
                        break;
                    case "1"://采购入库
                        skuType = "(0,1,3)";
                        break;
                    case "2"://中间品入库
                        skuType = "(4)";
                        break;
                    case "3"://退货入库
                        skuType = "(2)";
                        break;
                    case "4"://车间余料退回入库
                        skuType = "(0,1,3)";
                        break;
                    case "5"://其它入库
                        skuType = "(2)";
                        break;
                    case "6"://代储入库
                        skuType = "(2)";
                        break;
                }
                Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
                    .AndIF(!string.IsNullOrWhiteSpace(model.IsControlled), it => it.IsControlled == model.IsControlled)
                    .AndIF(true, it => skuType.Contains(it.Type))
                    .AndIF(true, it => it.IsDel == "0")
                    .And(it => it.SkuNo != "100099")
                    .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo),
@@ -847,6 +874,10 @@
                {
                    throw new Exception("未查询到单据明细信息");
                }
                if (userId == notice.UpdateUser)
                {
                    throw new Exception("复核失败,复核人员和关闭订单人员不能相同!");
                }
                var list = new List<AsnDetail>();
                foreach (var d in detail)
                {
@@ -865,21 +896,26 @@
                    OrderCode = notice.OrderCode,
                    AsnDetails = list
                };
                // 通过接口发送至erp
                var jsonData = JsonConvert.SerializeObject(soInfo);
                #region 通过接口发送至erp
                //系统对接后放开
                /*var jsonData = JsonConvert.SerializeObject(soInfo);
                var response = HttpHelper.DoPost(url, jsonData, "入库单完成上传", "ERP");
                //解析返回数据
                var obj = JsonConvert.DeserializeObject<ErpModel>(response);
                var obj = JsonConvert.DeserializeObject<ErpModel>(response);//解析返回数据
                if (obj.Success != 0)
                {
                    throw new Exception("上传失败" + obj.Message);
                }
                }*/
                #endregion
                notice.Status = "4";
                notice.UpdateTime = DateTime.Now;
                notice.UpdateUser = userId;
                notice.CheckTime = DateTime.Now;
                notice.CheckUser = userId;
                Db.Updateable(notice).ExecuteCommand();
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", notice.ASNNo, "复核", $"复核了单据号为{notice.ASNNo}的单据信息", userId);
                return true;
            }
            catch (Exception e)