| | |
| | | }); ; |
| | | builder.ConfigureApplication(); |
| | | |
| | | App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); |
| | | //App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); |
| | | |
| | | // 2ãé
ç½®æå¡ |
| | | builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注å |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | //æ¤jsæä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | |
| | | let extension = { |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: '', |
| | | gridBody: '', |
| | | gridFooter: '', |
| | | //æ°å»ºãç¼è¾å¼¹åºæ¡æ©å±ç»ä»¶ |
| | | modelHeader: '', |
| | | modelBody: '', |
| | | modelFooter: '' |
| | | }, |
| | | tableAction: '', //æå®æå¼ 表çæé(è¿éå¡«å表å,é»è®¤ä¸ç¨å¡«å) |
| | | buttons: { view: [], box: [], detail: [] }, //æ©å±çæé® |
| | | methods: { |
| | | //ä¸é¢è¿äºæ¹æ³å¯ä»¥ä¿çä¹å¯ä»¥å é¤ |
| | | onInit() { |
| | | //æ©å±é¡µé¢åå§åæä½ |
| | | this.columns.push({ |
| | | field: 'æä½', |
| | | title: 'æä½', |
| | | width: 90, |
| | | fixed: 'right', |
| | | align: 'center', |
| | | formatter: (row) => { |
| | | return ( |
| | | '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">æ¥çæç»</i>' |
| | | ); |
| | | }, |
| | | }); |
| | | }, |
| | | onInited() { |
| | | //æ¡æ¶åå§åé
ç½®å |
| | | //妿è¦é
ç½®æç»è¡¨,卿¤æ¹æ³æä½ |
| | | //this.detailOptions.columns.forEach(column=>{ }); |
| | | }, |
| | | searchBefore(param) { |
| | | //ç颿¥è¯¢å,å¯ä»¥ç»param.wheresæ·»å æ¥è¯¢åæ° |
| | | //è¿åfalseï¼åä¸ä¼æ§è¡æ¥è¯¢ |
| | | return true; |
| | | }, |
| | | searchAfter(result) { |
| | | //æ¥è¯¢åï¼resultè¿åçæ¥è¯¢æ°æ®,å¯ä»¥å¨æ¾ç¤ºå°è¡¨æ ¼åå¤çè¡¨æ ¼çå¼ |
| | | return true; |
| | | }, |
| | | addBefore(formData) { |
| | | //æ°å»ºä¿ååformData为对象ï¼å
æ¬æç»è¡¨ï¼å¯ä»¥ç»ç»è¡¨å设置å¼ï¼èªå·±è¾åºçformDataçå¼ |
| | | return true; |
| | | }, |
| | | updateBefore(formData) { |
| | | //ç¼è¾ä¿ååformData为对象ï¼å
æ¬æç»è¡¨ãå é¤è¡çId |
| | | return true; |
| | | }, |
| | | rowClick({ row, column, event }) { |
| | | //æ¥è¯¢çé¢ç¹å»è¡äºä»¶ |
| | | this.$refs.table.$refs.table.toggleRowSelection(row); //åå»è¡æ¶éä¸å½åè¡; |
| | | }, |
| | | modelOpenAfter(row) { |
| | | //ç¹å»ç¼è¾ãæ°å»ºæé®å¼¹åºæ¡åï¼å¯ä»¥å¨æ¤å¤åé»è¾ï¼å¦ï¼ä»åå°è·åæ°æ® |
| | | //(1)夿æ¯ç¼è¾è¿æ¯æ°å»ºæä½ï¼ this.currentAction=='Add'; |
| | | //(2)ç»å¼¹åºæ¡è®¾ç½®é»è®¤å¼ |
| | | //(3)this.editFormFields.åæ®µ='xxx'; |
| | | //妿éè¦ç»ä¸ææ¡è®¾ç½®é»è®¤å¼ï¼è¯·éåthis.editFormOptionsæ¾å°å段é
置对åºdata屿§çkeyå¼ |
| | | //ç䏿就æè¾åºçï¼console.log(this.editFormOptions) |
| | | } |
| | | } |
| | | }; |
| | | export default extension; |
| | | |
| | |
| | | prop: "pVer", |
| | | title: "产åçæ¬", |
| | | type: "string", |
| | | width: 150, |
| | | width: 90, |
| | | }, |
| | | { |
| | | prop: "outSpecifyVer", |
| | | title: "ææ´¾çæ¬", |
| | | type: "string", |
| | | width: 90, |
| | | }, |
| | | { |
| | | prop: "pLot", |
| | |
| | | path: '/proInStatistics', |
| | | name: 'proInStatistics', |
| | | component: () => import('@/views/inbound/proInStatistics.vue') |
| | | }, |
| | | { |
| | | path: '/erpProInOrder', |
| | | name: 'erpProInOrder', |
| | | component: () => import('@/views/inbound/erpProInOrder.vue') |
| | | } |
| | | ] |
| | | export default viewgird |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields" |
| | | :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions" |
| | | :table="table" :extend="extend"> |
| | | </view-grid> |
| | | </template> |
| | | <script> |
| | | import extend from "@/extension/inbound/erpProInOrder.js"; |
| | | import { ref, defineComponent } from "vue"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const table = ref({ |
| | | key: "id", |
| | | footer: "Foots", |
| | | cnName: "æåè°æ¨/å¯å®å
¥åºå", |
| | | name: "erpProInOrder", |
| | | url: "/erpProInOrder/", |
| | | sortName: "id", |
| | | }); |
| | | const editFormFields = ref({ |
| | | |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | | |
| | | ], |
| | | ]); |
| | | const searchFormFields = ref({ |
| | | warehouseId: "", |
| | | pCode: "", |
| | | pVer: "", |
| | | orderNo: "", |
| | | upperOrderNo: "" |
| | | }); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { title: "产åç¼ç ", field: "pCode",type: "like"}, |
| | | { |
| | | title: "ä»åº", |
| | | field: "warehouseId", |
| | | type: "select", |
| | | dataKey: "warehouses", |
| | | data: [] |
| | | }, |
| | | { title: "产åçæ¬", field: "pVer",type: "like"}, |
| | | ], |
| | | [ |
| | | { title: "åæ®ç¼å·", field: "orderNo",type: "like"}, |
| | | { title: "䏿¸¸åæ®ç¼å·", field: "upperOrderNo",type: "like"}, |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | | { |
| | | field: "id", |
| | | title: "Id", |
| | | type: "int", |
| | | width: 90, |
| | | hidden: true, |
| | | readonly: true, |
| | | require: true, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "warehouseId", |
| | | title: "æå±ä»åº", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | bind: { key: "warehouses", data: [] }, |
| | | }, |
| | | { |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "upperOrderNo", |
| | | title: "䏿¸¸åæ®ç¼å·", |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "orderType", |
| | | title: "åæ®ç±»å", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | bind: { key: "proInOrderType", data: [{key:1,value:"è°æ¨å
¥åº"},{key:2,value:"éå®è½¬å
¥"}] }, |
| | | }, |
| | | { |
| | | field: "proInStatus", |
| | | title: "订åç¶æ", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | bind: { key: "inboundState", data: [] }, |
| | | }, |
| | | { |
| | | field: "pCode", |
| | | title: "产ååå·", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "pVer", |
| | | title: "产åçæ¬", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "dateCode", |
| | | title: "产å卿", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "qtyPcs", |
| | | title: "Pcsæ°é", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "proSaleOrderNo", |
| | | title: "éå®è®¢åå·", |
| | | type: "string", |
| | | width: 180, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "createDate", |
| | | title: "å建æ¶é´", |
| | | type: "datetime", |
| | | width: 160, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "modifier", |
| | | title: "æä½äºº", |
| | | type: "datetime", |
| | | width: 160, |
| | | align: "left", |
| | | } |
| | | ]); |
| | | const detail = ref({ |
| | | cnName: "#detailCnName", |
| | | table: "", |
| | | columns: [], |
| | | sortName: "", |
| | | }); |
| | | return { |
| | | table, |
| | | extend, |
| | | editFormFields, |
| | | editFormOptions, |
| | | searchFormFields, |
| | | searchFormOptions, |
| | | columns, |
| | | detail, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | | bind: { key: "outOrderType", data: [{key:1,value:"订ååºè´§"}] }, |
| | | bind: { key: "proOutOrderType", data: [{key:1,value:"订ååºè´§"},,{key:2,value:"éå®åºåº"}] }, |
| | | }, |
| | | { |
| | | field: "proOrderStatus", |
| | |
| | | palletCode: "", |
| | | // locationCode: "", |
| | | materielCode:"", |
| | | batchNo:"" |
| | | batchNo:"", |
| | | specifyVer:"" |
| | | }); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | |
| | | // { title: "è´§ä½ç¼å·", field: "locationCode",type: "like" }, |
| | | { title: "è´§ä½ç¶æ", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],}, |
| | | { title: "åºåç¶æ", field: "stockStatus",type: "selectList",dataKey: "stockStatusEmun",data: [],}, |
| | | { title: "产åç¼ç ", field: "productCode",type: "like"}, |
| | | ], |
| | | [ |
| | | { title: "产åç¼ç ", field: "productCode",type: "like"}, |
| | | |
| | | { title: "产åçæ¬", field: "productVersion",type: "like"}, |
| | | { title: "ææ´¾çæ¬", field: "specifyVer",type: "like"}, |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}, |
| | | ] |
| | | ]); |
| | |
| | | align: "left" |
| | | }, |
| | | { |
| | | field: "specifyVer", |
| | | title: "ææ´¾çæ¬", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left" |
| | | }, |
| | | { |
| | | field: "dateCode", |
| | | title: "产å卿", |
| | | type: "string", |
| | | width: 140, |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | |
| | | /// 产å卿 |
| | | /// </summary> |
| | | [PropertyValidate("产å卿")] |
| | | public int DateCode { get; set; } |
| | | public string DateCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»åºç±»å |
| | |
| | | namespace WIDESEA_DTO.ERP |
| | | { |
| | | /// <summary> |
| | | /// æåè°å
¥å¾
åè´§ä»è¡¨ |
| | | /// æåè°å
¥/éå®è½¬å
¥å¾
åè´§ä» |
| | | /// </summary> |
| | | [ModelValidate] |
| | | public class ErpProductWarehousingOrderDTO |
| | |
| | | /// </summary> |
| | | [ExporterHeader(DisplayName = "çæ¬")] |
| | | public string ProductVersion { get; set; } |
| | | /// <summary> |
| | | /// çæ¬ |
| | | /// </summary> |
| | | [ExporterHeader(DisplayName = "çæ¬")] |
| | | public string SpecifyVer { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 产å卿 |
| | |
| | | { |
| | | IProOutOrderRepository Repository { get; } |
| | | /// <summary> |
| | | /// æ¥æ¶æååºåºå |
| | | /// æ¥æ¶ERPæååºåºåä¿¡æ¯(订ååºåº/å¯å®åºåº) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO); |
| | | /// <summary> |
| | | /// éå®é¨ä»¶ææ´¾ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> ProductSpecifyVer(ErpProductSpecifyVerDTO erpProductSpecifyVerDTO); |
| | | /// <summary> |
| | | /// æååºå¾
åè´§åº(å¹³åº)+忥ERPåºåº(å·²ç»å®åºåºååºå) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "åºå屿§")] |
| | | public int ProStockAttribute { get; set; } |
| | | /// <summary> |
| | | /// å
¥åºåç¶æ |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "å
¥åºåç¶æ")] |
| | | public int ProInStatus { get; set; } |
| | | /// <summary> |
| | | /// 产åç¼ç |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "产åç¼ç ")] |
| | |
| | | public string ShipmentOrder { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
¥åºåå· |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "å
¥åºåå·")] |
| | | public string ProInOrderNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»åºä¸»é® |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "ä»åºä¸»é®")] |
| | |
| | | _invokeERPService = invokeERPService; |
| | | } |
| | | /// <summary> |
| | | /// æ¥æ¶ERPæååºåºå |
| | | /// æ¥æ¶ERPæååºåºåä¿¡æ¯(订ååºåº/å¯å®åºåº) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO) |
| | |
| | | return content; |
| | | } |
| | | /// <summary> |
| | | /// éå®ææ´¾ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> ProductSpecifyVer(ErpProductSpecifyVerDTO erpProductSpecifyVerDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==erpProductSpecifyVerDTO.WaType); |
| | | if (warehouse == null) |
| | | return await Task.FromResult(content.Error($"æªæ¾å°{erpProductSpecifyVerDTO.WaType}ä»åºä¿¡æ¯")); |
| | | //æ¥è¯¢å¯ææ´¾åºå |
| | | List<Dt_ProStockInfo> proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => x.ProStockAttribute == ProStockAttributeEnum.æå.ObjToInt()) |
| | | .Includes(x => x.proStockInfoDetails) |
| | | .Where(x => x.proStockInfoDetails |
| | | .Any(v => |
| | | v.SaleOrder == erpProductSpecifyVerDTO.OrderNo |
| | | && v.ProductCode == erpProductSpecifyVerDTO.PCode |
| | | && v.ProductVersion == erpProductSpecifyVerDTO.PVer |
| | | && v.LotNumber == erpProductSpecifyVerDTO.PLot |
| | | && v.DateCode == erpProductSpecifyVerDTO.DateCode |
| | | && (v.SpecifyVer==null||v.SpecifyVer=="") |
| | | )) |
| | | .ToList(); |
| | | List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>(); |
| | | List<Dt_ProStockInfoDetail> specifyVerDetails = new List<Dt_ProStockInfoDetail>(); |
| | | if (proStockInfos==null) |
| | | return await Task.FromResult(content.Error("å¯ææ´¾åºåä¸åå¨")); |
| | | proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.CreateDate).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList(); |
| | | foreach (var item in proStockInfos) |
| | | { |
| | | proStockInfoDetails.AddRange(item.proStockInfoDetails); |
| | | } |
| | | if (proStockInfoDetails.Sum(x=>x.StockPcsQty)< erpProductSpecifyVerDTO.QtyPcs) |
| | | return await Task.FromResult(content.Error($"å¯ææ´¾åºåæ°éä¸è¶³,å¯ç¨:{proStockInfoDetails.Sum(x => x.StockPcsQty)}")); |
| | | float overQty = 0; |
| | | foreach (var item in proStockInfoDetails) |
| | | { |
| | | specifyVerDetails.Add(item); |
| | | overQty += item.StockPcsQty; |
| | | //已满足è·åæ°éä¸åæ´æ¹ |
| | | if (overQty>= erpProductSpecifyVerDTO.QtyPcs) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | specifyVerDetails.ForEach(x => |
| | | { |
| | | x.SpecifyVer = erpProductSpecifyVerDTO.Ver; |
| | | }); |
| | | _unitOfWorkManage.BeginTran(); |
| | | _stockRepository.ProStockInfoDetailRepository.UpdateData(specifyVerDetails); |
| | | _unitOfWorkManage.CommitTran(); |
| | | content.OK("ææ´¾æå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | content.Error(ex.Message); |
| | | } |
| | | return await Task.FromResult(content); |
| | | } |
| | | /// <summary> |
| | | /// æååºå¾
åè´§åº(å¹³åº)+忥ERPåºåº(ç»å®äºåºåºååºå) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(searchParameters.Value))); |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.SpecifyVer).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.SpecifyVer.Contains(searchParameters.Value))); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | |
| | | { |
| | | x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); |
| | | x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); |
| | | x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); |
| | | x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; |
| | | x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; |
| | | x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; |
| | |
| | | /// éå®ææ´¾åæ¥æ¶ |
| | | /// </summary> |
| | | [HttpPost, Route("ProductSpecifyVer"), AllowAnonymous, MethodParamsValidate] |
| | | public ErpResponseContent ProductSpecifyVer([FromBody] Root<ErpProductSpecifyVerDTO> root) |
| | | public async Task<ErpResponseContent> ProductSpecifyVerAsync([FromBody] Root<ErpProductSpecifyVerDTO> root) |
| | | { |
| | | return Instance.OK(); |
| | | var content = await _outboundService.ProOutOrderService.ProductSpecifyVer(root.Content); |
| | | if (content.Status) return Instance.OK(); |
| | | else return Instance.Error(content.Message); |
| | | } |
| | | /// <summary> |
| | | /// æ¥æ¶ERPéæåä¿¡æ¯ |
| | |
| | | CreateMap<MESBagDetail, Dt_MesProInOrderDetail>().ForMember(x => x.OverInQuantity, b => b.MapFrom(b => 0)); |
| | | CreateMap<ErpProOutOrderDetailds, Dt_ProOutOrderDetail>().ForMember(x => x.ProOrderDetailStatus, b => b.MapFrom(b => 0)).ForMember(x => x.OverQtyPcs, b => b.MapFrom(b => 0)); |
| | | CreateMap<Dt_MesProInOrderDetail, Dt_ProStockInfoDetail>().ForMember(x => x.ProOutDetailStatus, b => b.MapFrom(b => StockStatusEmun.ç»çæå.ObjToInt())).ForMember(x => x.OutboundQuantity, b => b.MapFrom(b => 0)).ForMember(x => x.StockPcsQty, b => b.MapFrom(b => b.OKPCSQTY)); |
| | | CreateMap<ErpProductWarehousingOrderDTO, Dt_ErpProInOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.æå.ObjToInt())); |
| | | CreateMap<ErpProductWarehousingOrderDTO, Dt_ErpProInOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.æå.ObjToInt())).ForMember(x => x.ProInStatus, b => b.MapFrom(b => InOrderStatusEnum.æªå¼å§.ObjToInt())); |
| | | CreateMap<ErpProductTransferOrderDTO, Dt_ErpProTransferOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.OrderType, b => b.MapFrom(b => ErpProOutTypeEnum.ProOutAllocat.ObjToInt())).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.ç å.ObjToInt())); |
| | | } |
| | | } |
| | |
| | | }); ; |
| | | builder.ConfigureApplication(); |
| | | |
| | | App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); |
| | | //App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); |
| | | |
| | | // 2ãé
ç½®æå¡ |
| | | builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注å |