/// <summary>
        /// Converts this instance of <see cref="serviceorderDto"/> to an instance of <see cref="serviceorder"/>.
        /// </summary>
        /// <param name="dto"><see cref="serviceorderDto"/> to convert.</param>
        public static serviceorder ToEntity(this serviceorderDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            var entity = new serviceorder();

            entity.v_ServiceOrderId       = dto.v_ServiceOrderId;
            entity.v_CustomServiceOrderId = dto.v_CustomServiceOrderId;
            entity.v_Description          = dto.v_Description;
            entity.v_Comentary            = dto.v_Comentary;
            entity.i_NumberOfWorker       = dto.i_NumberOfWorker;
            entity.r_TotalCost            = dto.r_TotalCost;
            entity.d_DeliveryDate         = dto.d_DeliveryDate;
            entity.i_ServiceOrderStatusId = dto.i_ServiceOrderStatusId;
            entity.i_IsDeleted            = dto.i_IsDeleted;
            entity.i_InsertUserId         = dto.i_InsertUserId;
            entity.d_InsertDate           = dto.d_InsertDate;
            entity.i_UpdateUserId         = dto.i_UpdateUserId;
            entity.d_UpdateDate           = dto.d_UpdateDate;

            dto.OnEntity(entity);

            return(entity);
        }
        /// <summary>
        /// Converts this instance of <see cref="serviceorder"/> to an instance of <see cref="serviceorderDto"/>.
        /// </summary>
        /// <param name="entity"><see cref="serviceorder"/> to convert.</param>
        public static serviceorderDto ToDTO(this serviceorder entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var dto = new serviceorderDto();

            dto.v_ServiceOrderId       = entity.v_ServiceOrderId;
            dto.v_CustomServiceOrderId = entity.v_CustomServiceOrderId;
            dto.v_Description          = entity.v_Description;
            dto.v_Comentary            = entity.v_Comentary;
            dto.i_NumberOfWorker       = entity.i_NumberOfWorker;
            dto.r_TotalCost            = entity.r_TotalCost;
            dto.d_DeliveryDate         = entity.d_DeliveryDate;
            dto.i_ServiceOrderStatusId = entity.i_ServiceOrderStatusId;
            dto.i_IsDeleted            = entity.i_IsDeleted;
            dto.i_InsertUserId         = entity.i_InsertUserId;
            dto.d_InsertDate           = entity.d_InsertDate;
            dto.i_UpdateUserId         = entity.i_UpdateUserId;
            dto.d_UpdateDate           = entity.d_UpdateDate;

            entity.OnDTO(dto);

            return(dto);
        }
示例#3
0
        public string AddServiceOrder(ref OperationResult pobjOperationResult, serviceorderDto pobjDtoEntity, List <serviceorderdetailDto> pobjDtoEntityDetail, List <string> ClientSession)
        {
            //mon.IsActive = true;
            string NewId = "(No generado)";

            try
            {
                SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

                #region Service Order
                serviceorder objEntity = serviceorderAssembler.ToEntity(pobjDtoEntity);

                objEntity.d_InsertDate   = DateTime.Now;
                objEntity.i_InsertUserId = Int32.Parse(ClientSession[2]);
                objEntity.i_IsDeleted    = 0;
                // Autogeneramos el Pk de la tabla
                int intNodeId = int.Parse(ClientSession[0]);
                NewId = Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 101), "YY");
                objEntity.v_ServiceOrderId = NewId;

                dbContext.AddToserviceorder(objEntity);
                dbContext.SaveChanges();
                #endregion

                #region Service Order Detail

                if (pobjDtoEntityDetail != null)
                {
                    foreach (var item in pobjDtoEntityDetail)
                    {
                        serviceorderdetail objEntityDetail = serviceorderdetailAssembler.ToEntity(item);

                        objEntityDetail.d_InsertDate   = DateTime.Now;
                        objEntityDetail.i_InsertUserId = Int32.Parse(ClientSession[2]);
                        objEntityDetail.i_IsDeleted    = 0;
                        // Autogeneramos el Pk de la tabla
                        objEntityDetail.v_ServiceOrderId       = NewId;
                        objEntityDetail.v_ServiceOrderDetailId = Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 102), "YA");

                        dbContext.AddToserviceorderdetail(objEntityDetail);
                        dbContext.SaveChanges();
                    }
                }
                pobjOperationResult.Success = 1;
                #endregion


                // Llenar entidad Log
                //LogBL.SaveLog(ClientSession[0], ClientSession[1], ClientSession[2], LogEventType.CREACION, "ORDERN SERVICIO", "v_ServiceOrderId=" + NewId.ToString(), Success.Ok, null);
                return(NewId);
            }
            catch (Exception ex)
            {
                pobjOperationResult.Success          = 0;
                pobjOperationResult.ExceptionMessage = Common.Utils.ExceptionFormatter(ex);
                // Llenar entidad Log
                //LogBL.SaveLog(ClientSession[0], ClientSession[1], ClientSession[2], LogEventType.CREACION, "ORDEN SERVICIO", "v_ServiceOrderId=" + NewId.ToString(), Success.Failed, pobjOperationResult.ExceptionMessage);
                return(null);
            }
        }
 /// <summary>
 /// Invoked when <see cref="ToEntity"/> operation is about to return.
 /// </summary>
 /// <param name="entity"><see cref="serviceorder"/> converted from <see cref="serviceorderDto"/>.</param>
 static partial void OnEntity(this serviceorderDto dto, serviceorder entity);
 /// <summary>
 /// Invoked when <see cref="ToDTO"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="serviceorderDto"/> converted from <see cref="serviceorder"/>.</param>
 static partial void OnDTO(this serviceorder entity, serviceorderDto dto);
示例#6
0
        public String Submit2Company(String tgid, String ytServiceOrderNo, String ytServiceStatus)
        {
            serviceorder serviceOrder = null;

            #region 基础信息
            var dmt4 = DBHelper.GetTable("维修项目数据", "tb_maintain_three_guaranty", "*", string.Format(" tg_id='{0}'", tgid), "", "");
            if (dmt4.Rows.Count > 0)
            {
                var dr = dmt4.Rows[0];
                serviceOrder = new serviceorder
                {
                    tg_id = CommonCtrl.IsNullToString(dr["tg_id"]),
                    crm_service_bill_code = String.IsNullOrEmpty(ytServiceOrderNo) ? CommonCtrl.IsNullToString(dr["service_no_yt"]) : ytServiceOrderNo,
                    //sap_code = "155125",//CommonCtrl.IsNullToString(dr["service_station_code"]),
                    service_station_name  = CommonCtrl.IsNullToString(dr["service_station_name"]),
                    bill_type_yt          = CommonCtrl.IsNullToString(dr["receipt_type"]),
                    whether_go_out        = CommonCtrl.IsNullToString(dr["whether_go_out"]),
                    refit_case            = "",//CommonCtrl.IsNullToString(dr["refit_case"]), //不处理 -- 改装情况
                    dsn_service_bill_code = CommonCtrl.IsNullToString(dr["series_num_yt"]),
                    create_time           = GetDatetime(dr["create_time"]),
                    depot_no              = CommonCtrl.IsNullToString(dr["depot_no"]),
                    vehicle_no            = CommonCtrl.IsNullToString(dr["vehicle_no"]),
                    travel_mileage        = CommonCtrl.IsNullToString(dr["travel_mileage"]),
                    vehicle_use           = CommonCtrl.IsNullToString(dr["customer_property"]), //不处理 -- 用户性质(车辆用途)
                    vehicle_location      = "",                                                 //CommonCtrl.IsNullToString(dr["vehicle_location"]), //不处理 -- 车辆所在地代码
                    vehicle_use_corp      = CommonCtrl.IsNullToString(dr["vehicle_use_corp"]),
                    linkman               = CommonCtrl.IsNullToString(dr["linkman"]),
                    link_man_mobile       = CommonCtrl.IsNullToString(dr["link_man_mobile"]),
                    repairer_name         = CommonCtrl.IsNullToString(dr["repairer_name"]),
                    repairer_mobile       = CommonCtrl.IsNullToString(dr["repairer_mobile"]),
                    driver_name           = CommonCtrl.IsNullToString(dr["driver_name"]),
                    driver_mobile         = CommonCtrl.IsNullToString(dr["driver_mobile"]),
                    start_work_time       = GetDatetime(dr["start_work_time"]),
                    complete_work_time    = GetDatetime(dr["complete_work_time"]),
                    appraiser_name        = CommonCtrl.IsNullToString(dr["appraiser_id"]),
                    repair_man            = CommonCtrl.IsNullToString(dr["repair_man_id"]),
                    travel_desc           = CommonCtrl.IsNullToString(dr["goout_cause"]),
                    approve_by_people     = CommonCtrl.IsNullToString(dr["goout_approver"]),
                    apply_rescue_place    = CommonCtrl.IsNullToString(dr["goout_place"]),
                    travel_lookup_code    = CommonCtrl.IsNullToString(dr["means_traffic"]),
                    depart_time           = GetDatetime(dr["goout_time"]),
                    back_time             = GetDatetime(dr["goout_back_time"]),
                    rescue_mileage        = CommonCtrl.IsNullToString(dr["goout_mileage"]),
                    travel_employees      = CommonCtrl.IsNullToString(dr["goout_people_num"]),
                    hour_amount           = CommonCtrl.IsNullToString(dr["man_hour_subsidy"]),
                    mile_allowance        = CommonCtrl.IsNullToString(dr["journey_subsidy"]),
                    hotel_fee             = "",                                           //CommonCtrl.IsNullToString(dr["driver_name"]),       //不处理 -- 住宿费
                    traffic_fee           = CommonCtrl.IsNullToString(dr["traffic_fee"]), //车船费
                    travel_amount         = CommonCtrl.IsNullToString(dr["travel_cost"]),
                    other_item_sum_money  = CommonCtrl.IsNullToString(dr["other_item_sum_money"]),
                    other_remarks         = "",//CommonCtrl.IsNullToString(dr["remarks"]),   //数据库暂无此字段 -- 其他费用说明
                    should_sum            = CommonCtrl.IsNullToString(dr["service_sum_cost"]),
                    remarks               = CommonCtrl.IsNullToString(dr["remarks"]),
                    approve_status_yt     = String.IsNullOrEmpty(ytServiceStatus) ? CommonCtrl.IsNullToString(dr["approve_status_yt"]): ytServiceStatus,
                    vehicle_location_name = "",//CommonCtrl.IsNullToString(dr["customer_address"]),  //不处理 -- 车辆所在地名称
                    fault_class_code      = CommonCtrl.IsNullToString(dr["fault_system"]),
                    fault_class_name      = CommonCtrl.IsNullToString(dr["fault_describe"]),
                    fault_assembly_code   = CommonCtrl.IsNullToString(dr["fault_assembly"]),
                    fault_assembly_name   = CommonCtrl.IsNullToString(dr["fault_assembly_name"]), //不处理 -- 故障总成名称
                    fault_part_code       = CommonCtrl.IsNullToString(dr["fault_part"]),
                    fault_part_name       = CommonCtrl.IsNullToString(dr["fault_part_name"]),     //不处理 -- 故障总成部件名称
                    fault_mode_code       = CommonCtrl.IsNullToString(dr["fault_schema"]),
                    fault_mode_name       = CommonCtrl.IsNullToString(dr["fault_schema_name"]),   //不处理 -- 故障模式名称
                    fault_cause           = CommonCtrl.IsNullToString(dr["fault_cause"]),
                    reason_analysis       = CommonCtrl.IsNullToString(dr["reason_analysis"]),
                    dispose_result        = CommonCtrl.IsNullToString(dr["dispose_result"]),
                    approver_name_yt      = CommonCtrl.IsNullToString(dr["approver_id_yt"]),
                    policy_approval_no    = CommonCtrl.IsNullToString(dr["policy_approval_no"]),
                    policy_cost_type      = CommonCtrl.IsNullToString(dr["cost_type_policy"]),
                    describe              = CommonCtrl.IsNullToString(dr["describes"]),
                    product_notice_no     = CommonCtrl.IsNullToString(dr["product_notice_no"]),
                    luxury_cost_type      = "",//CommonCtrl.IsNullToString(dr["cost_type_service"]),  //数据库暂无此字段 -- 费用类型高档车
                    activity_cost_type    = CommonCtrl.IsNullToString(dr["cost_type_service"]),
                    fault_duty_corp       = CommonCtrl.IsNullToString(dr["fault_duty_corp"]),
                    fault_describe        = CommonCtrl.IsNullToString(dr["fault_describe"]),
                    man_hour_cost         = CommonCtrl.IsNullToString(dr["man_hour_sum_money"]),
                    parts_cost            = CommonCtrl.IsNullToString(dr["fitting_sum_money"]),
                    parts_buy_time        = GetDatetime(dr["parts_buy_time"]),
                    parts_buy_corp        = CommonCtrl.IsNullToString(dr["parts_buy_corp"]),

                    contain_man_hour_cost = CommonCtrl.IsNullToString(dr["contain_man_hour_cost"]),
                    car_parts_code        = CommonCtrl.IsNullToString(dr["parts_code"]),
                    parts_name            = "",//CommonCtrl.IsNullToString(dr["man_hour_sum_money"]),   //不处理 -- 配件名称
                    first_install_station = CommonCtrl.IsNullToString(dr["first_install_station"]),
                    part_guarantee_period = CommonCtrl.IsNullToString(dr["part_guarantee_period"]),
                    part_lot     = "",//CommonCtrl.IsNullToString(dr["parts_buy_corp"]), //不处理 -- 配件批次号
                    feedback_num = CommonCtrl.IsNullToString(dr["feedback_num"]),
                    is_special_agreed_warranty = CommonCtrl.IsNullToString(dr["promise_guarantee"]),
                    repairs_time = GetDatetime(dr["repairs_time"])
                };

                #endregion

                #region 维修用料数据

                var dmt1 = DBHelper.GetTable("维修用料数据", "tb_maintain_three_guaranty_material_detail", "*",
                                             string.Format(" tg_id='{0}'", tgid), "", "");
                var flFlag = 0; //判断辅料金额 不添加辅料:0 --- A,B车型:40 --- C车型:50
                if ((serviceOrder.bill_type_yt == DbDic2Enum.BILL_TYPE_YT_100000000 ||
                     serviceOrder.bill_type_yt == DbDic2Enum.BILL_TYPE_YT_100000002 ||
                     serviceOrder.bill_type_yt == DbDic2Enum.BILL_TYPE_YT_100000001))
                {
                    if (CommonCtrl.IsNullToString(dr["vehicle_model"]) == DbDic2Enum.VM_CLASS_100000000 ||
                        CommonCtrl.IsNullToString(dr["vehicle_model"]) == DbDic2Enum.VM_CLASS_100000001)
                    {
                        flFlag = 40;
                    }
                    else if (CommonCtrl.IsNullToString(dr["vehicle_model"]) == DbDic2Enum.VM_CLASS_10000003)
                    {
                        flFlag = 50;
                    }
                }
                serviceOrder.ChangePartsDetails = new ChangePartsDetail[flFlag == 0 ? dmt1.Rows.Count : dmt1.Rows.Count + 1];
                if (dmt1.Rows.Count > 0)
                {
                    for (var i = 0; i < dmt1.Rows.Count; i++)
                    {
                        var dmr = dmt1.Rows[i];
                        serviceOrder.ChangePartsDetails[i] = new ChangePartsDetail();
                        serviceOrder.ChangePartsDetails[i].car_parts_code =
                            CommonCtrl.IsNullToString(dmr["depot_code"]);
                        serviceOrder.ChangePartsDetails[i].parts_name   = CommonCtrl.IsNullToString(dmr["parts_name"]);
                        serviceOrder.ChangePartsDetails[i].parts_source =
                            CommonCtrl.IsNullToString(dmr["parts_source"]);
                        //serviceOrder.ChangePartsDetails[i]. = CommonCtrl.IsNullToString(dmr["norms"]);
                        serviceOrder.ChangePartsDetails[i].unit       = CommonCtrl.IsNullToString(dmr["unit"]);
                        serviceOrder.ChangePartsDetails[i].quantity   = CommonCtrl.IsNullToString(dmr["quantity"]);
                        serviceOrder.ChangePartsDetails[i].unit_price = CommonCtrl.IsNullToString(dmr["unit_price"]);
                        serviceOrder.ChangePartsDetails[i].sum_money  = CommonCtrl.IsNullToString(dmr["sum_money"]);
                        //serviceOrder.ChangePartsDetails[i]. = CommonCtrl.IsNullToString(dmr["redeploy_no"]);
                        if (String.IsNullOrEmpty(CommonCtrl.IsNullToString(dmr["remarks"])))
                        {
                            serviceOrder.ChangePartsDetails[i].remarks = CommonCtrl.IsNullToString(dmr["parts_name"]);
                        }
                        else
                        {
                            serviceOrder.ChangePartsDetails[i].remarks = CommonCtrl.IsNullToString(dmr["remarks"]);
                        }
                    }
                    //三包单中“新车报道”“走保”“强保”类型,服务站上报宇通时可以多添加一个“辅料”,来源于宇通数据,A、B车型金额:40.00元,C车型(高档车)金额50.00元!
                    if (flFlag != 0)
                    {
                        var changePartsDetail = new ChangePartsDetail();
                        serviceOrder.ChangePartsDetails[serviceOrder.ChangePartsDetails.Count() - 1] = changePartsDetail;
                        changePartsDetail.sum_money = flFlag.ToString();
                        changePartsDetail.remarks   = "辅料";
                    }
                }

                #endregion

                #region 维修项目

                var dmt2 = DBHelper.GetTable("维修项目数据", "tb_maintain_three_guaranty_item", "*",
                                             string.Format(" tg_id='{0}'", tgid), "", "");
                serviceOrder.RepairItemsDetails = new RepairItems[dmt2.Rows.Count];
                if (dmt2.Rows.Count > 0)
                {
                    for (var i = 0; i < dmt2.Rows.Count; i++)
                    {
                        var dmr = dmt2.Rows[i];
                        serviceOrder.RepairItemsDetails[i]         = new RepairItems();
                        serviceOrder.RepairItemsDetails[i].item_no = CommonCtrl.IsNullToString(dmr["item_no"]);
                        //serviceOrder.RepairItemsDetails[i]. = CommonCtrl.IsNullToString(dmr["item_type"]);
                        serviceOrder.RepairItemsDetails[i].item_name          = CommonCtrl.IsNullToString(dmr["item_name"]);
                        serviceOrder.RepairItemsDetails[i].man_hour_type      = CommonCtrl.IsNullToString(dmr["man_hour_quantity"]);
                        serviceOrder.RepairItemsDetails[i].man_hour_unitprice = CommonCtrl.IsNullToString(dmr["man_hour_unitprice"]);
                        //serviceOrder.RepairItemsDetails[i].unit_price = CommonCtrl.IsNullToString(dmr["man_hour_unitprice"]);
                        serviceOrder.RepairItemsDetails[i].sum_money = CommonCtrl.IsNullToString(dmr["sum_money"]);
                        serviceOrder.RepairItemsDetails[i].remarks   = CommonCtrl.IsNullToString(dmr["remarks"]);
                    }
                }
                #endregion

                #region 附件信息

                var dmt3 = DBHelper.GetTable("三包服务单附件数据", "attachment_info", "*",
                                             string.Format(" relation_object_id='{0}'", tgid), "", "");
                serviceOrder.FilesDetails = new Files[dmt3.Rows.Count];
                if (dmt3.Rows.Count > 0)
                {
                    for (var i = 0; i < dmt3.Rows.Count; i++)
                    {
                        var    dmr  = dmt3.Rows[i];
                        string path = CommonCtrl.IsNullToString(dmr["att_path"]);
                        var    fs   = FileOperation.DownLoadString16(path);
                        serviceOrder.FilesDetails[i]                = new Files();
                        serviceOrder.FilesDetails[i].Doc            = fs;
                        serviceOrder.FilesDetails[i].doc_name       = CommonCtrl.IsNullToString(dmr["att_id"]) + Path.GetExtension((path));
                        serviceOrder.FilesDetails[i].accessory_name = CommonCtrl.IsNullToString(dmr["att_id"]) + Path.GetExtension(path);
                    }
                }

                #endregion
            }
            return(DBHelper.WebServHandler("三包服务单上报厂家", EnumWebServFunName.UpLoadServiceOrder, serviceOrder));
        }
示例#7
0
        public void UpdateService(ref OperationResult pobjOperationResult, serviceorderDto pobjDtoEntity, List <serviceorderdetailDto> pobjDtoEntityDetail, List <string> ClientSession)
        {
            //mon.IsActive = true;
            try
            {
                SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

                #region ServiceOrder
                // Obtener la entidad fuente
                var objEntitySource = (from a in dbContext.serviceorder
                                       where a.v_ServiceOrderId == pobjDtoEntity.v_ServiceOrderId && a.i_IsDeleted == 0
                                       select a).FirstOrDefault();

                // Crear la entidad con los datos actualizados
                pobjDtoEntity.d_UpdateDate   = DateTime.Now;
                pobjDtoEntity.i_UpdateUserId = Int32.Parse(ClientSession[2]);
                serviceorder objEntity = serviceorderAssembler.ToEntity(pobjDtoEntity);

                // Copiar los valores desde la entidad actualizada a la Entidad Fuente
                dbContext.serviceorder.ApplyCurrentValues(objEntity);

                #endregion

                #region ServiceOrderDetail
                // Obtener la entidad fuente
                List <serviceorderdetail> pobjserviceorderdetailList = new List <serviceorderdetail>();

                var objEntitySourceDetail = (from a in dbContext.serviceorderdetail
                                             where a.v_ServiceOrderId == pobjDtoEntity.v_ServiceOrderId
                                             select a).ToList();


                foreach (var item in objEntitySourceDetail)
                {
                    dbContext.serviceorderdetail.DeleteObject(item);
                    dbContext.SaveChanges();
                }

                if (pobjDtoEntityDetail != null)
                {
                    int intNodeId = int.Parse(ClientSession[0]);
                    foreach (var item in pobjDtoEntityDetail)
                    {
                        serviceorderdetail objDetailEntity = serviceorderdetailAssembler.ToEntity(item);

                        if (item.v_ServiceOrderDetailId == null)
                        {
                            objDetailEntity.v_ServiceOrderDetailId = Common.Utils.GetNewId(intNodeId, Utils.GetNextSecuentialId(intNodeId, 102), "YA");
                        }
                        else
                        {
                            objDetailEntity.v_ServiceOrderDetailId = item.v_ServiceOrderDetailId;
                        }


                        objDetailEntity.v_ProtocolId             = item.v_ProtocolId;
                        objDetailEntity.v_ServiceOrderId         = pobjDtoEntity.v_ServiceOrderId;
                        objDetailEntity.r_ProtocolPrice          = item.r_ProtocolPrice;
                        objDetailEntity.i_NumberOfWorkerProtocol = item.i_NumberOfWorkerProtocol;

                        objDetailEntity.i_IsDeleted    = 0;
                        objDetailEntity.d_UpdateDate   = DateTime.Now;
                        objDetailEntity.i_UpdateUserId = Int32.Parse(ClientSession[2]);
                        // Agregar el detalle del movimiento a la BD
                        dbContext.AddToserviceorderdetail(objDetailEntity);
                    }
                    // Guardar los cambios
                    dbContext.SaveChanges();
                }

                #endregion

                pobjOperationResult.Success = 1;
                // Llenar entidad Log
                //LogBL.SaveLog(ClientSession[0], ClientSession[1], ClientSession[2], LogEventType.ACTUALIZACION, "ORDEN SERVICIO", "v_ServiceOrderId=" + objEntity.v_ServiceOrderId.ToString(), Success.Ok, null);
                return;
            }
            catch (Exception ex)
            {
                pobjOperationResult.Success          = 0;
                pobjOperationResult.ExceptionMessage = Common.Utils.ExceptionFormatter(ex);
                // Llenar entidad Log
                //LogBL.SaveLog(ClientSession[0], ClientSession[1], ClientSession[2], LogEventType.ACTUALIZACION, "SERVICIO", "v_ServiceOrderId=" + pobjDtoEntity.v_ServiceOrderId.ToString(), Success.Failed, pobjOperationResult.ExceptionMessage);
                return;
            }
        }