| | |
| | | // } |
| | | // return pageGridData; |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPéè´å
¥åºä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent ReceivePurchaseOrder(ERPPurchaseOrderDTO eRPPurchaseOrderDTO) |
| | | { |
| | | WebResponseContent content=new WebResponseContent(); |
| | |
| | | if (eRPPurchaseOrderDTO == null) |
| | | { |
| | | return content.Error("éè´ä¿¡æ¯ä¸è½ä¼ å
¥ä¸ºç©º"); |
| | | } |
| | | if (eRPPurchaseOrderDTO.PurchaseInDetail == null || eRPPurchaseOrderDTO.PurchaseInDetail.Count <= 0) |
| | | { |
| | | return content.Error("éè´æç»ä¿¡æ¯ä¸è½ä¼ å
¥ä¸ºç©º"); |
| | | } |
| | | Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==eRPPurchaseOrderDTO.WarehouseCode); |
| | | if (warehouse==null) |
| | |
| | | } |
| | | //è·åææéè´ä¿¡æ¯ |
| | | List<Dt_PurchaseOrder> purchaseOrdersOld = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Includes(x=>x.Details).ToList(); |
| | | |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetailsOld = purchaseOrdersOld.SelectMany(x => x.Details).ToList(); |
| | | if (eRPPurchaseOrderDTO.OperateType == 1) |
| | | { |
| | | //夿é夿å
¥ |
| | |
| | | Dt_PurchaseOrder purchaseOrder = _mapper.Map<Dt_PurchaseOrder>(eRPPurchaseOrderDTO); |
| | | purchaseOrderDetails.ForEach(x => |
| | | { |
| | | if (warehouse.WarehouseCode == WarehouseEnum.LLDYL.ToString() && x.PurchaseDetailThickness <= 0) |
| | | { |
| | | throw new Exception($"ç©æ{x.MaterialCode}æ¡ç {x.BarCode}ç´å¾é大äº0"); |
| | | } |
| | | if (purchaseOrderDetailsOld.FirstOrDefault(t => t.BarCode == x.BarCode) != null) |
| | | { |
| | | throw new Exception($"éè´ååå·{purchaseOrder.PurchaseOrderNo}æ¡ç {x.BarCode}å·²åå¨"); |
| | | } |
| | | Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(t => t.MaterielCode == x.MaterialCode); |
| | | x.MaterielName = materielInfo?.MaterielName; |
| | | x.Unit = materielInfo?.MaterielUnit; |
| | | x.MaterielSpec= materielInfo?.MaterielSpec; |
| | | x.MaterielSpec = materielInfo?.MaterielSpec; |
| | | }); |
| | | purchaseOrder.Details = purchaseOrderDetails; |
| | | purchaseOrder.WarehouseId = warehouse.WarehouseId; |
| | |
| | | BaseDal.Db.InsertNav(purchaseOrder).Include(x=>x.Details).ExecuteCommand(); |
| | | |
| | | } |
| | | //else if (eRPPurchaseOrderDTO.OperateType == 2) |
| | | //{ |
| | | // //夿æ¯å¦åå¨ |
| | | // Dt_UserInfo? userInfoOld = OlduserInfos.FirstOrDefault(x => x.Code == eRPUserInfoDTO.StaffCode); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ä¸åå¨"); |
| | | // } |
| | | // Dt_UserInfo userInfo = _mapper.Map<Dt_UserInfo>(eRPUserInfoDTO); |
| | | // userInfo.Id = userInfoOld.Id; |
| | | // Sys_User user = _userRepository.QueryFirst(x => x.UserName == userInfo.Code); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ï¼WMSè´¦å·ä¸åå¨"); |
| | | // } |
| | | // user.Enable = (byte)userInfo.State; |
| | | // user.UserTrueName = userInfo.Name; |
| | | // //æ´æ° |
| | | // BaseDal.UpdateData(userInfo); |
| | | // _userRepository.UpdateData(user); |
| | | //} |
| | | //else if (eRPPurchaseOrderDTO.OperateType == 3) |
| | | //{ |
| | | // //夿æ¯å¦åå¨ |
| | | // Dt_UserInfo? userInfoOld = OlduserInfos.FirstOrDefault(x => x.Code == eRPUserInfoDTO.StaffCode); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ä¸åå¨"); |
| | | // } |
| | | // BaseDal.DeleteData(userInfoOld); |
| | | //} |
| | | else if (eRPPurchaseOrderDTO.OperateType == 2) |
| | | { |
| | | //夿æ¯å¦åå¨ |
| | | Dt_PurchaseOrder? purchaseOrderOld = purchaseOrdersOld.FirstOrDefault(x => x.PurchaseOrderNo == eRPPurchaseOrderDTO.PurchaseInCode); |
| | | if (purchaseOrderOld == null) |
| | | { |
| | | return content.Error($"éè´ååå·{eRPPurchaseOrderDTO.PurchaseInCode}ä¿¡æ¯ä¸åå¨"); |
| | | } |
| | | if (purchaseOrderOld.PurchaseOrderStatus != InOrderStatusEnum.æªå¼å§.ObjToInt()) |
| | | { |
| | | return content.Error($"éè´ååå·{purchaseOrderOld.PurchaseOrderNo}ç¶æä¸º{(InOrderStatusEnum)purchaseOrderOld.PurchaseOrderStatus}"); |
| | | } |
| | | List<string> barCodesOld = purchaseOrderOld.Details.Select(x => x.BarCode).ToList(); |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = eRPPurchaseOrderDTO.PurchaseInDetail.Select(x => _mapper.Map<Dt_PurchaseOrderDetail>(x)).ToList(); |
| | | Dt_PurchaseOrder purchaseOrder = _mapper.Map<Dt_PurchaseOrder>(eRPPurchaseOrderDTO); |
| | | purchaseOrder.Id = purchaseOrderOld.Id; |
| | | purchaseOrderDetails.ForEach(x => |
| | | { |
| | | if (warehouse.WarehouseCode == WarehouseEnum.LLDYL.ToString() && x.PurchaseDetailThickness <= 0) |
| | | { |
| | | throw new Exception($"ç©æ{x.MaterialCode}æ¡ç {x.BarCode}ç´å¾é大äº0"); |
| | | } |
| | | if (purchaseOrderDetailsOld.FirstOrDefault(t => t.BarCode == x.BarCode) != null && !barCodesOld.Contains(x.BarCode)) |
| | | { |
| | | throw new Exception($"éè´ååå·{purchaseOrder.PurchaseOrderNo}æ¡ç {x.BarCode}å·²åå¨"); |
| | | } |
| | | Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(t => t.MaterielCode == x.MaterialCode); |
| | | x.MaterielName = materielInfo?.MaterielName; |
| | | x.Unit = materielInfo?.MaterielUnit; |
| | | x.MaterielSpec = materielInfo?.MaterielSpec; |
| | | }); |
| | | purchaseOrder.Details = purchaseOrderDetails; |
| | | purchaseOrder.WarehouseId = warehouse.WarehouseId; |
| | | //æ´æ° |
| | | BaseDal.Db.UpdateNav(purchaseOrder).Include(x => x.Details).ExecuteCommand(); |
| | | } |
| | | else if (eRPPurchaseOrderDTO.OperateType == 3) |
| | | { |
| | | //夿æ¯å¦åå¨ |
| | | Dt_PurchaseOrder? purchaseOrderOld = purchaseOrdersOld.FirstOrDefault(x => x.PurchaseOrderNo == eRPPurchaseOrderDTO.PurchaseInCode); |
| | | if (purchaseOrderOld == null) |
| | | { |
| | | return content.Error($"éè´ååå·{eRPPurchaseOrderDTO.PurchaseInCode}ä¿¡æ¯ä¸åå¨"); |
| | | } |
| | | if (purchaseOrderOld.PurchaseOrderStatus != InOrderStatusEnum.æªå¼å§.ObjToInt()) |
| | | { |
| | | return content.Error($"éè´ååå·{purchaseOrderOld.PurchaseOrderNo}ç¶æä¸º{(InOrderStatusEnum)purchaseOrderOld.PurchaseOrderStatus}"); |
| | | } |
| | | //å é¤ |
| | | BaseDal.Db.DeleteNav(purchaseOrderOld).Include(x => x.Details).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°æä½ç±»å"); |
| | |
| | | } |
| | | return content; |
| | | } |
| | | /// <summary> |
| | | /// æ¥æ¶ERPéè´éè´§ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent ReceivePurchaseReturn(ERPReturnOrderDTO eRPReturnOrderDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | Dt_ReturnOutOrder? returnOutOrderOld = returnOutOrdersOld.FirstOrDefault(x => x.ReturnNo == eRPReturnOrderDTO.ReturnCode); |
| | | if (returnOutOrderOld != null) |
| | | { |
| | | return content.Error($"éè´§ åå·{returnOutOrderOld.ReturnNo}ä¿¡æ¯å·²åå¨"); |
| | | return content.Error($"éè´§åå·{returnOutOrderOld.ReturnNo}ä¿¡æ¯å·²åå¨"); |
| | | } |
| | | List<Dt_ReturnOutOrderDetail> returnOutOrderDetails = eRPReturnOrderDTO.ReturnDetail.Select(x => _mapper.Map<Dt_ReturnOutOrderDetail>(x)).ToList(); |
| | | Dt_ReturnOutOrder returnOutOrderAdd = _mapper.Map<Dt_ReturnOutOrder>(eRPReturnOrderDTO); |
| | |
| | | } |
| | | return content; |
| | | } |
| | | public WebResponseContent ReceiveProDeliveryOrder(ERPProDeliveryDTO eRPProDeliveryDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (eRPProDeliveryDTO == null) |
| | | { |
| | | return content.Error("éå®åºåºä¿¡æ¯ä¸è½ä¸ºç©º"); |
| | | } |
| | | Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == eRPProDeliveryDTO.WarehouseCode); |
| | | if (warehouse == null) |
| | | { |
| | | return content.Error($"ä»åºä¿¡æ¯ä¸åå¨{eRPProDeliveryDTO.WarehouseCode}"); |
| | | } |
| | | //è·åææç©æ |
| | | List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.WarehouseId == warehouse.WarehouseId && x.MaterielInvOrgId == MaterielInvOrgEnum.æ°å.ObjToInt()); |
| | | |
| | | //è·åææå®¢æ· |
| | | List<Dt_CustomerInfo> customerInfos = _basicRepository.CustomerInfoRepository.QueryData(); |
| | | |
| | | //夿æ¯å¦åå¨ç©æ |
| | | DeliveryDetailItem? deliveryDetailItem = eRPProDeliveryDTO.DeliveryDetail.FirstOrDefault(x => !materielInfos.Select(x => x.MaterielCode).Contains(x.MaterialCode)); |
| | | if (deliveryDetailItem != null) |
| | | { |
| | | return content.Error($"ç©æä¿¡æ¯{deliveryDetailItem.MaterialCode}ä¸åå¨"); |
| | | } |
| | | |
| | | //夿æ¯å¦åå¨å®¢æ· |
| | | DeliveryDetailItem? deliveryDetailCustom = eRPProDeliveryDTO.DeliveryDetail.FirstOrDefault(x => !customerInfos.Select(x => x.CustomerCode).Contains(x.Customer)); |
| | | |
| | | if (deliveryDetailCustom != null) |
| | | { |
| | | return content.Error($"客æ·ä¿¡æ¯{deliveryDetailCustom.Customer}ä¸åå¨"); |
| | | } |
| | | |
| | | //è·åææéå®åºåºä¿¡æ¯ |
| | | List<Dt_ProDeliveryOrder> proDeliveryOrdersOld = BaseDal.Db.Queryable<Dt_ProDeliveryOrder>().Includes(x => x.Details).ToList(); |
| | | |
| | | if (eRPProDeliveryDTO.OperateType == 1) |
| | | { |
| | | //夿é夿å
¥ |
| | | Dt_ProDeliveryOrder? proDeliveryOrderOld = proDeliveryOrdersOld.FirstOrDefault(x => x.DeliveryCode == eRPProDeliveryDTO.DeliveryCode); |
| | | if (proDeliveryOrderOld != null) |
| | | { |
| | | return content.Error($"éå®åºåºåå·{proDeliveryOrderOld.DeliveryCode}ä¿¡æ¯å·²åå¨"); |
| | | } |
| | | List<Dt_ProDeliveryOrderDetail> proDeliveryOrderDetails = eRPProDeliveryDTO.DeliveryDetail.Select(x => _mapper.Map<Dt_ProDeliveryOrderDetail>(x)).ToList(); |
| | | Dt_ProDeliveryOrder proDeliveryOrderAdd = _mapper.Map<Dt_ProDeliveryOrder>(eRPProDeliveryDTO); |
| | | proDeliveryOrderDetails.ForEach(x => |
| | | { |
| | | Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(t => t.MaterielCode == x.MaterialCode); |
| | | x.MaterielName = materielInfo?.MaterielName; |
| | | x.Unit = materielInfo?.MaterielUnit; |
| | | }); |
| | | proDeliveryOrderAdd.Details = proDeliveryOrderDetails; |
| | | proDeliveryOrderAdd.WarehouseId = warehouse.WarehouseId; |
| | | //æ°å¢ |
| | | BaseDal.Db.InsertNav(proDeliveryOrderAdd).Include(x => x.Details).ExecuteCommand(); |
| | | |
| | | } |
| | | //else if (eRPPurchaseOrderDTO.OperateType == 2) |
| | | //{ |
| | | // //夿æ¯å¦åå¨ |
| | | // Dt_UserInfo? userInfoOld = OlduserInfos.FirstOrDefault(x => x.Code == eRPUserInfoDTO.StaffCode); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ä¸åå¨"); |
| | | // } |
| | | // Dt_UserInfo userInfo = _mapper.Map<Dt_UserInfo>(eRPUserInfoDTO); |
| | | // userInfo.Id = userInfoOld.Id; |
| | | // Sys_User user = _userRepository.QueryFirst(x => x.UserName == userInfo.Code); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ï¼WMSè´¦å·ä¸åå¨"); |
| | | // } |
| | | // user.Enable = (byte)userInfo.State; |
| | | // user.UserTrueName = userInfo.Name; |
| | | // //æ´æ° |
| | | // BaseDal.UpdateData(userInfo); |
| | | // _userRepository.UpdateData(user); |
| | | //} |
| | | //else if (eRPPurchaseOrderDTO.OperateType == 3) |
| | | //{ |
| | | // //夿æ¯å¦åå¨ |
| | | // Dt_UserInfo? userInfoOld = OlduserInfos.FirstOrDefault(x => x.Code == eRPUserInfoDTO.StaffCode); |
| | | // if (userInfoOld == null) |
| | | // { |
| | | // return content.Error($"æ´æ°å·¥å·{eRPUserInfoDTO.StaffCode}ï¼åå·¥{eRPUserInfoDTO.StaffName}ä¸åå¨"); |
| | | // } |
| | | // BaseDal.DeleteData(userInfoOld); |
| | | //} |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°æä½ç±»å"); |
| | | } |
| | | //æ´æ°æ°æ® |
| | | return content.OK("æ¥æ¶æå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | /// <summary> |
| | | /// æ¥æ¶ERPéçäº§é¢æä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent ReceiveOutOrder(ERPPickOutOrderDTO eRPPickOutOrderDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPæåéå®éè´§ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent ReceiveProDeliveryBackOrder(ERPProDeliverBackDTO eRPProDeliverBackDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |