| | |
| | | window.webConfig = { |
| | | "webApiBaseUrl":"http://127.0.0.1:9293/" //"http://10.30.4.92:9283/" |
| | | "webApiBaseUrl": "http://127.0.0.1:9293/", |
| | | "webApiProduction":"http://10.30.4.92:9283/" |
| | | } |
| | |
| | | } |
| | | |
| | | else if (process.env.NODE_ENV == 'production') { |
| | | axios.defaults.baseURL = window.webConfig.webApiBaseUrl; |
| | | axios.defaults.baseURL = window.webConfig.webApiProduction; |
| | | } |
| | | if (!axios.defaults.baseURL.endsWith('/')) { |
| | | axios.defaults.baseURL+="/"; |
| | |
| | | "æ¥è¯¢ä¸" |
| | | ) |
| | | .then((x) => { |
| | | this.tableData = x; |
| | | |
| | | var label=[ |
| | | { label: 'å·²åé
', value: 0 }, |
| | | { label: 'åºåºä¸', value: 1 }, |
| | | { label: 'åºåºå®æ', value: 2 }, |
| | | { label: 'æ£é宿', value: 3 }, |
| | | { label: 'æ¤é', value: 99 } |
| | | ] |
| | | this.tableData=x.map((i) => ({ |
| | | ...i, |
| | | status:label.find((j) => j.value === i.status).label |
| | | })) |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | name: 'userInfo', |
| | | component: () => import('@/views/basic/userInfo.vue') |
| | | } |
| | | , { |
| | | path: '/mesOutboundOrder', |
| | | name: 'mesOutboundOrder', |
| | | component: () => import('@/views/outbound/mesOutboundOrder.vue') |
| | | } |
| | | ] |
| | | |
| | | export default viewgird |
| | |
| | | |
| | | let _userInfo = store.getters.getUserInfo(); |
| | | if (_userInfo) { |
| | | userName.value = _userInfo.userName; |
| | | console.log(_userInfo); |
| | | userName.value = _userInfo.trueNmae; |
| | | if (_userInfo.img) { |
| | | userImg.value = _config.base.getImgSrc(_userInfo.img, http.ipAddress); |
| | | } |
| | | } |
| | | |
| | | createSocket("ws://127.0.0.1:9295/" + _userInfo.userName); |
| | | createSocket("ws://127.0.0.1:9296/" + _userInfo.userName); |
| | | |
| | | Object.assign(_config.$tabs, { open: open, close: close }); |
| | | |
| | |
| | | const loading = ref(false); |
| | | const codeImgSrc = ref(""); |
| | | const userInfo = reactive({ |
| | | userName: "admin", |
| | | password: "123456", |
| | | verificationCode: "1234", |
| | | userName: "", |
| | | password: "", |
| | | verificationCode: "", |
| | | UUID: undefined, |
| | | }); |
| | | |
| | |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { title: "è´§ä½ç¼å·", field: "locationCode", type: "like" }, |
| | | { title: "å··éç¼å·", field: "roadwayNo" }, |
| | | { title: "å··éç¼å·", field: "roadwayNo",type:"like" }, |
| | | { title: "è´§ä½ç±»å", field: "locationType",type: "select",dataKey: "locationTypeEnum",data: [], }, |
| | | { title: "ç¦ç¨ç¶æ", field: "enableStatus" ,type: "select",dataKey: "enableStatusEnum",data: [],}, |
| | | ], |
| | |
| | | sortName: "id", |
| | | }); |
| | | const editFormFields = ref({ |
| | | deviceCode: "", |
| | | deviceName: "", |
| | | deviceType: "", |
| | | deviceStatus: "", |
| | | deviceIp: "", |
| | | devicePort: "", |
| | | devicePlcType: "", |
| | | deviceRemark: "", |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | | { |
| | | title: "设å¤ç¼å·", |
| | | required: true, |
| | | field: "deviceCode", |
| | | type: "string", |
| | | }, |
| | | { |
| | | title: "设å¤åç§°", |
| | | required: true, |
| | | field: "deviceName", |
| | | type: "string", |
| | | }, |
| | | { |
| | | title: "设å¤ç±»å", |
| | | required: true, |
| | | field: "deviceType", |
| | | type: "string", |
| | | }, |
| | | { |
| | | title: "设å¤ç¶æ", |
| | | required: true, |
| | | field: "deviceStatus", |
| | | type: "string", |
| | | }, |
| | | ], |
| | | [ |
| | | { title: "设å¤IP", required: true, field: "deviceIp", type: "string" }, |
| | | { |
| | | title: "设å¤ç«¯å£", |
| | | required: true, |
| | | field: "devicePort", |
| | | type: "string", |
| | | }, |
| | | { |
| | | title: "PLCç±»å", |
| | | required: true, |
| | | field: "devicePlcType", |
| | | type: "string", |
| | | }, |
| | | { |
| | | title: "夿³¨", |
| | | field: "deviceRemark", |
| | | type: "string", |
| | | }, |
| | | ], |
| | | ]); |
| | | const searchFormFields = ref({ |
| | | deviceCode: "", |
| | | deviceType: "", |
| | | deviceStatus: "", |
| | | orderNo: "", |
| | | materialCode: "", |
| | | batchNo: "", |
| | | }); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { title: "设å¤ç¼å·", field: "deviceCode" }, |
| | | { title: "设å¤ç±»å", field: "deviceType" }, |
| | | { title: "设å¤ç¶æ", field: "deviceStatus" }, |
| | | { title: "åæ®ç¼å·", field: "orderNo", type:"like" }, |
| | | { title: "ç©æç¼å·", field: "materialCode" ,type:"like"}, |
| | | { title: "æ¹æ¬¡å·", field: "batchNo" ,type:"like"}, |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "orderId", |
| | | title: "åºåºå主é®", |
| | | field: "warehouseId", |
| | | title: "æå±ä»åº", |
| | | type: "string", |
| | | width: 90, |
| | | width: 80, |
| | | align: "left", |
| | | hidden: true, |
| | | bind: { key: "warehouses", data: [] }, |
| | | }, |
| | | { |
| | | field: "materielCode", |
| | | title: "ç©æç¼å·", |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "materielName", |
| | | title: "ç©æåç§°", |
| | | field: "taskNo", |
| | | title: "ä»»å¡åå·", |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "orderQuantity", |
| | | field: "OrderStatus", |
| | | title: "åæ®æ°é", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | bind: { key: "orderDetailStatusEnum", data: [] } |
| | | }, |
| | | { |
| | | field: "lockQuantity", |
| | | title: "é宿°é", |
| | | type: "int", |
| | | field: "createType", |
| | | title: "å建æ¹å¼", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | bind: { key: "createType", data: [] }, |
| | | }, |
| | | { |
| | | field: "overOutQuantity", |
| | | title: "å·²åºæ°é", |
| | | field: "materialCode", |
| | | title: "ç©æç¼å·", |
| | | type: "string", |
| | | width: 200, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "orderDetailStatus", |
| | | title: "订åæç»ç¶æ", |
| | | field: "materialName", |
| | | title: "ç©æåç§°", |
| | | type: "string", |
| | | width: 180, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "creater", |
| | | title: "å建人", |
| | | field: "unit", |
| | | title: "åä½", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "createDate", |
| | | title: "å建æ¶é´", |
| | | field: "orderQuantity", |
| | | title: "åæ®æ°é", |
| | | type: "datetime", |
| | | width: 160, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "modifier", |
| | | title: "ä¿®æ¹äºº", |
| | | field: "lockQuantity", |
| | | title: "é宿°é", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "modifyDate", |
| | | title: "ä¿®æ¹æ¶é´", |
| | | field: "overOutQuantity", |
| | | title: "å·²åºæ°é", |
| | | type: "datetime", |
| | | width: 160, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "remark", |
| | | title: "夿³¨", |
| | | field: "line", |
| | | title: "线ä½", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "targetAddressCode", |
| | | title: "线边ä»å°åç ", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "width", |
| | | title: "è£å宽", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | |
| | | [ |
| | | { title: "ç©æç¼å·", field: "materielCode",type: "like"}, |
| | | { title: "æ¹æ¬¡å·", field: "batchNo",type: "like"}, |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouse",data: [],}, |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}, |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "warehouseId", |
| | | title: "ä»åº", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | bind: { key: "warehouses", data: [] }, |
| | | }, |
| | | { |
| | | field: "locationCode", |
| | | title: "è´§ä½ç¼å·", |
| | | type: "string", |
| | |
| | | type: "string", |
| | | width: 80, |
| | | align: "left", |
| | | bind: { key: "warehouse", data: [] }, |
| | | bind: { key: "warehouses", data: [] }, |
| | | }, |
| | | { |
| | | field: "roadwayNo", |
| | |
| | | public int Layer { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåºä¸»é® |
| | | /// </summary> |
| | | public int WarehouseId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è´§ä½æ·±åº¦ |
| | | /// </summary> |
| | | public int Depth { get; set; } |
| | |
| | | /// <param name="orderDetailId"></param> |
| | | /// <param name="outStockStatus"></param> |
| | | /// <returns></returns> |
| | | List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus); |
| | | List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum? outStockStatus); |
| | | |
| | | /// <summary> |
| | | /// |
| | |
| | | return outStockLockInfo; |
| | | } |
| | | |
| | | public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus) |
| | | public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum? outStockStatus) |
| | | { |
| | | return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && x.Status == outStockStatus.ObjToInt()); |
| | | return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && outStockStatus==null?true:x.Status == outStockStatus.ObjToInt()); |
| | | } |
| | | |
| | | public List<Dt_OutStockLockInfo> GetStockOutboundOrder(SaveModel saveModel) |
| | |
| | | outStockLockInfos[i].Status = OutLockStockStatusEnum.æ£é宿.ObjToInt(); |
| | | } |
| | | List<Dt_StockInfoDetail> beforeDetaile = stockInfo.Details.GroupBy(x => x.MaterielCode).Select(x => new Dt_StockInfoDetail { MaterielCode = x.Key, StockQuantity = x.Sum(v => v.StockQuantity) }).ToList(); |
| | | |
| | | List<Dt_StockInfoDetail> updateDetailList = new List<Dt_StockInfoDetail>(); |
| | | List<Dt_StockInfoDetail> deleteDetailList = new List<Dt_StockInfoDetail>(); |
| | | for (int i = 0; i < stockInfo.Details.Count; i++) |
| | |
| | | }); |
| | | stockInfo.StockStatus = StockStatusEmun.æå¨ç»çå
¥åºç¡®è®¤.ObjToInt(); |
| | | //_stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(deleteDetailList, OperateTypeEnum.èªå¨å®æ); |
| | | _stockService.StockInfoService.Repository.UpdateData(stockInfo); |
| | | if (stockInfo.Details.Sum(x=>x.StockQuantity)== stockInfo.Details.Sum(x => x.OutboundQuantity)) |
| | | { |
| | | _stockService.StockInfoService.Repository.DeleteData(stockInfo); |
| | | } |
| | | else |
| | | { |
| | | _stockService.StockInfoService.Repository.UpdateData(stockInfo); |
| | | } |
| | | _stockService.StockInfoDetailService.Repository.UpdateData(updateDetailList); |
| | | _stockService.StockInfoDetailService.Repository.DeleteData(deleteDetailList); |
| | | BaseDal.UpdateData(outStockLockInfos); |
| | |
| | | Deptno = outboundOrder.DepartmentCode, |
| | | Deptname = outboundOrder.DepartmentName, |
| | | Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | Createuser = outboundOrder.Creater, |
| | | Createuser = outStockLockInfos.FirstOrDefault().Creater, |
| | | Issitem = new List<ERPIssueItemModel>() { issueItemModel }, |
| | | }; |
| | | } |
| | |
| | | Depth = a.Depth, |
| | | EnalbeStatus = a.EnableStatus, |
| | | Layer = a.Layer, |
| | | WarehouseId = b.WarehouseId, |
| | | LocationName = a.LocationName, |
| | | LocationStatus = a.LocationStatus, |
| | | LocationType = a.LocationType, |
| | |
| | | |
| | | _cacheService.AddOrUpdate(user.UserId.ToString(), token); |
| | | |
| | | content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserName, img = user.HeadImageUrl }); |
| | | content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserName, img = user.HeadImageUrl,trueNmae=user.UserTrueName }); |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | Dt_InboundOrder? inboundOrder = _inboundRepository.InboundOrderRepository.Db.Queryable<Dt_InboundOrder>().Where(x => x.InboundOrderNo == stockInfo.Details.FirstOrDefault().OrderNo).Includes(x => x.Details).First(); |
| | | List<Dt_InboundOrderDetail> inboundOrderDetails = new List<Dt_InboundOrderDetail>(); |
| | | List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); |
| | | if (stockInfo.StockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt()) |
| | | { |
| | | //æ¨éå
¥åºå®æç»Erp |
| | | if (inboundOrder == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"对åºå
¥åºåä¸åå¨"); |
| | | } |
| | | |
| | | List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); |
| | | |
| | | foreach (var item in stockInfo.Details) |
| | | { |
| | | Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.RowNo == item.InboundOrderRowNo); |
| | |
| | | { |
| | | inboundOrder.OrderStatus = InOrderStatusEnum.å
¥åºå®æ.ObjToInt(); |
| | | } |
| | | if (!_inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels).Status)//todo ä¿®æ¹å¤ç |
| | | { |
| | | return WebResponseContent.Instance.Error($"å
¥åºåæ¥Erp失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | | if ((stockInfo.StockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt() || stockInfo.StockStatus == StockStatusEmun.æå¨ç»çå
¥åºç¡®è®¤.ObjToInt()) && warehouse.WarehouseCode == WarehouseEnum.HA64.ToString()) |
| | |
| | | _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder); |
| | | } |
| | | _unitOfWorkManage.CommitTran(); |
| | | if (stockInfo.StockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt()) |
| | | { |
| | | _inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels); |
| | | } |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Autofac.Core; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseController; |
| | | using WIDESEA_DTO.Inbound; |
| | | using WIDESEA_DTO.Outbound; |
| | | using WIDESEA_IOutboundService; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_WMSServer.Controllers.Outbound |
| | | { |
| | | /// <summary> |
| | | /// MESåºåºå |
| | | /// </summary> |
| | | [Route("api/mesOutboundOrder")] |
| | | [ApiController] |
| | | public class MesOutboundOrderController : ApiBaseController<IMesOutboundOrderService, Dt_MesOutboundOrder> |
| | | { |
| | | public MesOutboundOrderController(IMesOutboundOrderService service) : base(service) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | return Service.MaterialPick(palletCode); |
| | | } |
| | | [HttpPost, HttpGet, Route("GetByOrderDetailId"), AllowAnonymous] |
| | | public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId) |
| | | { |
| | | return Service.GetByOrderDetailId(orderDetailId,null); |
| | | } |
| | | } |
| | | } |