Beispiel #1
0
        public void updateMaintainOrder(UpdateEQMMaintainParam param)
        {
            //更新备注/实际开始时间/实际结束时间/保养状态
            EQM_EQUIP_MAINTAIN updateParam = new EQM_EQUIP_MAINTAIN()
            {
                KID            = param.kid,
                remark         = param.remark,
                Maintain_state = param.status
            };

            if (!string.IsNullOrEmpty(param.startTime))
            {
                updateParam.ActualStartTime = DateTime.ParseExact(param.startTime, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
            }
            else
            {
                updateParam.ActualStartTime = null;
            }

            if (!string.IsNullOrEmpty(param.endTime))
            {
                updateParam.ActualEndTime = DateTime.ParseExact(param.endTime, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
            }
            else
            {
                updateParam.ActualEndTime = null;
            }
            maintainBO.UpdateSome(updateParam);
        }
Beispiel #2
0
        public string sendMaintainOrderResultToSap(EQMMaintainSendSap param)
        {
            log.Info("sendMaintainOrderResultToSap satrt");
            string errorMes = "";
            EQM_EQUIP_SPARE_LIST spareParam = new EQM_EQUIP_SPARE_LIST()
            {
                mesMaintainID = param.mesMaintainID
            };

            IList <IF0004WSDL> spareDatas = new List <IF0004WSDL>();
            //获得备品备件
            IList <EQM_EQUIP_SPARE_LIST> spareLists = getMaintainOrderSpares(spareParam);

            if (spareLists == null || spareLists.Count == 0)
            {
                //只需要传1条数据   备品备件为空时,不需要传设备编码
                IF0004WSDL s = new IF0004WSDL()
                {
                    mesMaintainID = param.mesMaintainID,
                    DeviceID      = "",
                    VORNR         = "0010",
                    spentMater    = "",
                    direction     = "",
                    num           = "",
                    StartTime     = param.startTime.Substring(0, 10),
                    EndTime       = param.endTime.Substring(0, 10)
                };
                spareDatas.Add(s);
            }
            else
            {
                foreach (EQM_EQUIP_SPARE_LIST spare in spareLists)
                {
                    IF0004WSDL s = new IF0004WSDL()
                    {
                        mesMaintainID = param.mesMaintainID,
                        DeviceID      = param.deviceID,
                        VORNR         = "0010",
                        spentMater    = spare.spentMater,
                        direction     = spare.direction,
                        num           = spare.num,
                        StartTime     = param.startTime.Substring(0, 10),
                        EndTime       = param.endTime.Substring(0, 10)
                    };
                    spareDatas.Add(s);
                }
            }
            //传SAP
            CustomJsonConverter customConverter = new CustomJsonConverter()
            {
                PropertyNullValueReplaceValue = ""
            };
            string sendSapRequest = JsonConvert.SerializeObject(spareDatas, customConverter);

            log.Info("send sap json\r\n" + sendSapRequest);
            ZPM_IF0004_WSDL_TQSService service = new ZPM_IF0004_WSDL_TQSService();
            ZPM_IF0004_TResponse       respone = service.ZPM_IF0004_T(new ZPM_IF0004_T()
            {
                I_JSON = sendSapRequest
            });
            string sapResponse = respone.O_JSON;

            log.Info("sap return json\r\n" + sapResponse);
            //SAPJSONResponse sapJson = JsonConvert.DeserializeObject<SAPJSONResponse>(sapResponse);
            //if (sapJson.resultcode.Equals("2"))
            //{
            //    errorMes = sapJson.resultmsg;
            //}
            ReturnValueSAP sapJson = JsonConvert.DeserializeObject <ReturnValueSAP>(sapResponse);

            if (sapJson.Success == 2)
            {
                errorMes = sapJson.Message;
            }
            else
            {
                //更新保养单的状态及保养人
                EQM_EQUIP_MAINTAIN updateParam = new EQM_EQUIP_MAINTAIN()
                {
                    KID            = param.kid,
                    Maintainer     = param.maintainer,
                    Maintain_state = "已完成"
                };
                maintainBO.UpdateSome(updateParam);
            }
            log.Info("sendMaintainOrderResultToSap end");
            return(errorMes);
        }