| | |
| | | using WIDESEA_DTO.ERP; |
| | | using WIDESEA_External.ERPService; |
| | | using WIDESEA_IBasicRepository; |
| | | using WIDESEA_IBasicService; |
| | | using WIDESEA_IInboundRepository; |
| | | using WIDESEA_IInboundService; |
| | | using WIDESEA_IOutboundService; |
| | | using WIDESEA_Model.Models; |
| | | using static WIDESEA_DTO.ErpResponseContent; |
| | | |
| | | namespace WIDESEA_WMSServer.Controllers.ERP |
| | | { |
| | |
| | | { |
| | | private readonly IPurchaseOrderRepository _purchaseOrderRepository; |
| | | private readonly IPurchaseOrderService _purchaseOrderService; |
| | | private readonly ISupplierInfoRepository _supplierInfoRepository; |
| | | private readonly IMaterielInfoRepository _materielInfoRepository; |
| | | private readonly ISupplierInfoService _supplierInfoService; |
| | | private readonly IMaterielInfoService _materielInfoService; |
| | | private readonly IOutboundOrderService _outboundOrderService; |
| | | private readonly ICustomerInfoService _customerInfoService; |
| | | private readonly IUserInfoService _userInfoService; |
| | | |
| | | public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoRepository supplierInfoRepository, IMaterielInfoRepository materielInfoRepository) |
| | | public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoService supplierInfoService, IMaterielInfoService materielInfoService, IOutboundOrderService outboundOrderService,ICustomerInfoService customerInfoService, IUserInfoService userInfoService) |
| | | { |
| | | _purchaseOrderRepository = purchaseOrderRepository; |
| | | _purchaseOrderService = purchaseOrderService; |
| | | _supplierInfoRepository = supplierInfoRepository; |
| | | _materielInfoRepository = materielInfoRepository; |
| | | _supplierInfoService = supplierInfoService; |
| | | _materielInfoService = materielInfoService; |
| | | _outboundOrderService = outboundOrderService; |
| | | _customerInfoService = customerInfoService; |
| | | _userInfoService = userInfoService; |
| | | } |
| | | |
| | | [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] |
| | | public WebResponseContent ReceivePurchaseOrder([FromBody] Dt_PurchaseOrder model) |
| | | { |
| | | try |
| | | { |
| | | _purchaseOrderRepository.AddData(model, x => x.Details); |
| | | |
| | | foreach (var item in model.Details) |
| | | { |
| | | Dt_ReceiveOrder receiveOrder = new Dt_ReceiveOrder() |
| | | { |
| | | ReceiveOrderStatus = InOrderStatusEnum.æªå¼å§.ObjToInt(), |
| | | WarehouseId = item.WarehouseId, |
| | | SuppliersId = model.SupplierCode, |
| | | ReceiveOrderType = InOrderTypeEnum.Purchase.ObjToInt(), |
| | | ReceiveDate = DateTime.Now, |
| | | }; |
| | | } |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPéè´åä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate] |
| | | public WebResponseContent ReceivePurchaseOrderSingle(PurchaseOrderModel model) |
| | | public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> model) |
| | | { |
| | | return _purchaseOrderService.ReceivePurchaseOrderSingle(model); |
| | | WebResponseContent content = _purchaseOrderService.ReceivePurchaseOrder(model.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPä»åºåå·¥åè´¨æ£åå·¥æ°æ® |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceiveUser"), AllowAnonymous, MethodParamsValidate] |
| | | public ErpResponseContent ReceiveUser([FromBody] Root<UserInfoDTO> model) |
| | | { |
| | | WebResponseContent content = _userInfoService.ReceiveUser(model.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPä¾åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] |
| | | public WebResponseContent ReceiveSupplier(SupplierDTO model) |
| | | public ErpResponseContent ReceiveSupplier([FromBody] Root<SupplierDTO> model) |
| | | { |
| | | try |
| | | { |
| | | if (model.OperateType == "0") |
| | | { |
| | | Dt_SupplierInfo supplierInfo = new Dt_SupplierInfo() |
| | | { |
| | | Status = 1, |
| | | SupplierCode = model.Code, |
| | | SupplierName = model.Name, |
| | | SupplierShortName = model.ShortName |
| | | }; |
| | | |
| | | _supplierInfoRepository.AddData(supplierInfo); |
| | | } |
| | | else if (model.OperateType == "1") |
| | | { |
| | | Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.Code); |
| | | if (supplierInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä¾åºåä¿¡æ¯"); |
| | | } |
| | | supplierInfo.Status = 1; |
| | | supplierInfo.SupplierCode = model.Code; |
| | | supplierInfo.SupplierName = model.Name; |
| | | supplierInfo.SupplierShortName = model.ShortName; |
| | | _supplierInfoRepository.UpdateData(supplierInfo); |
| | | } |
| | | else if (model.OperateType == "2") |
| | | { |
| | | Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.Code); |
| | | if (supplierInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä¾åºåä¿¡æ¯"); |
| | | } |
| | | _supplierInfoRepository.DeleteData(supplierInfo); |
| | | } |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | WebResponseContent content = _supplierInfoService.ReceiveSupplier(model.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPç©æä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] |
| | | public WebResponseContent ReceiveMaterial(MaterielInfoDTO model) |
| | | public ErpResponseContent ReceiveMaterial([FromBody] Root<MaterielInfoDTO> model) |
| | | { |
| | | try |
| | | { |
| | | if (model.OperateType == 0) |
| | | { |
| | | Dt_MaterielInfo materielInfo = new Dt_MaterielInfo() |
| | | { |
| | | IsCheck = (WhetherEnum)model.IsCheck, |
| | | MaterielCode = model.Code, |
| | | MaterielInvOrgId = model.InvOrgId, |
| | | MaterielLength = model.Length, |
| | | MaterielModel = model.Model, |
| | | MaterielName = model.Name, |
| | | MaterielSize = model.Size, |
| | | MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType, |
| | | MaterielSpec = "model.", |
| | | MaterielState = (EnableEnum)model.State, |
| | | MaterielThickness = model.Thickness, |
| | | MaterielType = (MaterielTypeEnum)model.ItemType, |
| | | MaterielUnit = model.Unit, |
| | | MaterielVersion = model.MaterialVersion, |
| | | MaterielWide = model.Wide, |
| | | WarehouseId = model.WaId, |
| | | }; |
| | | _materielInfoRepository.AddData(materielInfo); |
| | | } |
| | | else if (model.OperateType == 1) |
| | | { |
| | | Dt_MaterielInfo materielInfo = _materielInfoRepository.QueryFirst(x => x.MaterielCode == model.Code); |
| | | if (materielInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç©æä¿¡æ¯"); |
| | | } |
| | | |
| | | materielInfo.IsCheck = (WhetherEnum)model.IsCheck; |
| | | materielInfo.MaterielCode = model.Code; |
| | | materielInfo.MaterielInvOrgId = model.InvOrgId; |
| | | materielInfo.MaterielLength = model.Length; |
| | | materielInfo.MaterielModel = model.Model; |
| | | materielInfo.MaterielName = model.Name; |
| | | materielInfo.MaterielSize = model.Size; |
| | | materielInfo.MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType; |
| | | materielInfo.MaterielSpec = model.StandType; |
| | | materielInfo.MaterielState = (EnableEnum)model.State; |
| | | materielInfo.MaterielThickness = model.Thickness; |
| | | materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType; |
| | | materielInfo.MaterielUnit = model.Unit; |
| | | materielInfo.MaterielVersion = model.MaterialVersion; |
| | | materielInfo.MaterielWide = model.Wide; |
| | | materielInfo.WarehouseId = model.WaId; |
| | | _materielInfoRepository.UpdateData(materielInfo); |
| | | } |
| | | else if (model.OperateType == 2) |
| | | { |
| | | Dt_MaterielInfo materielInfo = _materielInfoRepository.QueryFirst(x => x.MaterielCode == model.Code); |
| | | if (materielInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç©æä¿¡æ¯"); |
| | | } |
| | | |
| | | _materielInfoRepository.DeleteData(materielInfo); |
| | | } |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | WebResponseContent content = _materielInfoService.ReceiveMaterial(model.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | |
| | | public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO erpOutOrder) |
| | | /// <summary> |
| | | /// æ¥æ¶ERP客æ·ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceiveCustomer"), AllowAnonymous, MethodParamsValidate] |
| | | public ErpResponseContent ReceiveCustomer([FromBody] Root<CustomerInfoDTO> model) |
| | | { |
| | | try |
| | | { |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch(Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | WebResponseContent content = _customerInfoService.ReceiveCustomer(model.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶ERPåºåºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="erpOutOrder"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ReceiveOutOrder"), AllowAnonymous, MethodParamsValidate] |
| | | public ErpResponseContent ReceiveOutOrder([FromBody] Root<ErpOutOrderDTO> erpOutOrder) |
| | | { |
| | | WebResponseContent content = _outboundOrderService.ReceiveOutOrder(erpOutOrder.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | } |
| | | } |