wangxinhui
4 天以前 9ec715d2deb18a269dd49c48da91a36632d08c81
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderService.cs
@@ -10,6 +10,8 @@
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO;
using WIDESEA_DTO.ERP;
using WIDESEA_External.ERPService;
using WIDESEA_External.Model;
using WIDESEA_IApprovalRepository;
@@ -41,6 +43,7 @@
            _invokeERPService = invokeERPService;
        }
        #region ä¸ä½¿ç”¨
        public WebResponseContent CommitAudit(int checkOrderId)
        {
            try
@@ -125,6 +128,124 @@
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        #endregion
        /// <summary>
        /// æ£€éªŒå®ŒæŽ¨é€ERP
        /// </summary>
        /// <param name="checkOrder"></param>
        /// <param name="checkOrderResults"></param>
        /// <returns></returns>
        public WebResponseContent FeedbackCheckResult(Dt_CheckOrder checkOrder,List<Dt_CheckOrderResult> checkOrderResults)
        {
            try
            {
                //增加个上传状态 è´¨æ£€å•结果
                List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
                foreach (var item in checkOrderResults)
                {
                    ERPCheckResult checkResult = new ERPCheckResult()
                    {
                        DefectCode = item.DefectCode,
                        Note = item.Note,
                        Quantity = item.Quantity.ToString(),
                        Result = item.Result
                    };
                    checkResults.Add(checkResult);
                }
                ERPCheckModel model = new ERPCheckModel()
                {
                    Code = checkOrder.CheckOrderNo,
                    CompanyId = "HATC",
                    Result = checkOrder.Result,
                    CreatorCode = checkOrder.CheckUserName,
                    DefectedNote = checkOrder.DefectedNote,
                    MaterialsCode = checkOrder.MaterielCode,
                    PlantsId = "HA02",
                    QtyDefected = checkOrder.DefectedQuantity.GetValueOrDefault().ToString(),
                    QtyInspected = checkOrder.ReceivedQuantity.ToString(),
                    QtyQualified = checkOrder.QualifiedQuantity.GetValueOrDefault().ToString(),
                    QtyReturn = checkOrder.ReturnQuantity.GetValueOrDefault().ToString(),
                    QtyScrapped = checkOrder.ScrappedQuantity.GetValueOrDefault().ToString(),
                    ReceiptCode = checkOrder.ReceiveOrderNo,
                    ReceiveDate = checkOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
                    SerNo = checkOrder.ReceiveDetailRowNo.ToString(),
                    TestDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    UniqueTag = checkOrder.CheckOrderId.ToString(),
                    Way = 1,
                    Details = checkResults
                };
                string response = _invokeERPService.InvokeCheckOrderApi(model);
                ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
                if (requestContent.res!=1)
                {
                    return WebResponseContent.Instance.Error(requestContent.Data);
                }
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// é€æ£€éªŒå®ŒæŽ¨é€ERP
        /// </summary>
        /// <param name="checkOrder"></param>
        /// <param name="checkOrderResults"></param>
        /// <returns></returns>
        public WebResponseContent FeedbackInspectResult(Dt_CheckOrder checkOrder, List<Dt_CheckOrderResult> checkOrderResults)
        {
            try
            {
                //增加个上传状态 è´¨æ£€å•结果
                List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
                foreach (var item in checkOrderResults)
                {
                    ERPCheckResult checkResult = new ERPCheckResult()
                    {
                        DefectCode = item.DefectCode,
                        Note = item.Note,
                        Quantity = item.Quantity.ToString(),
                        Result = item.Result
                    };
                    checkResults.Add(checkResult);
                }
                ERPInspectModel model = new ERPInspectModel()
                {
                    Code = checkOrder.CheckOrderNo,
                    CompanyId = "HATC",
                    Result = checkOrder.Result,
                    CreatorCode = checkOrder.CheckUserName,
                    DefectedNote = checkOrder.DefectedNote,
                    MaterialsCode = checkOrder.MaterielCode,
                    PlantsId = "HA02",
                    QtyDefected = checkOrder.DefectedQuantity.GetValueOrDefault().ToString(),
                    QtyInspected = checkOrder.ReceivedQuantity.ToString(),
                    QtyQualified = checkOrder.QualifiedQuantity.GetValueOrDefault().ToString(),
                    QtyReturn = checkOrder.ReturnQuantity.GetValueOrDefault().ToString(),
                    QtyScrapped = checkOrder.ScrappedQuantity.GetValueOrDefault().ToString(),
                    Recheckcode = checkOrder.ReceiveOrderNo,
                    ReceiveDate = checkOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
                    TestDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    UniqueTag = checkOrder.CheckOrderId.ToString(),
                    Way = 1,
                    Details = checkResults
                };
                string response = _invokeERPService.InvokeInspectApi(model);
                ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
                if (requestContent.res != 1)
                {
                    return WebResponseContent.Instance.Error(requestContent.Data);
                }
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// è´¨æ£€å®Œä¸ŠæŠ¥è‡³ERP
        /// </summary>
@@ -139,10 +260,6 @@
                if (checkOrder == null)
                {
                    return WebResponseContent.Instance.Error($"未找到质检单据");
                }
                if(checkOrder.AuditStatus != AuditStatusEnum.Agree.ObjToInt())
                {
                    return WebResponseContent.Instance.Error($"审批未通过");
                }
                List<ERPCheckResult> checkResults = new List<ERPCheckResult>();
@@ -163,7 +280,7 @@
                    Code = checkOrder.CheckOrderNo,
                    CompanyId = "HATC",
                    Result = checkOrder.Result,
                    CreatorCode = checkOrder.Creater,//测试
                    CreatorCode = checkOrder.CheckUserName,
                    DefectedNote = checkOrder.DefectedNote,
                    MaterialsCode = checkOrder.MaterielCode,
                    PlantsId = "HA02",