/// <summary> /// 自动生成装船开票单 /// </summary> /// <param name="originalEntity"></param> private CalculateEntity AutoGenerateTicket(CalculateDetailedEntity originalEntity) { CalculateDetailedEntity newEntity = new CalculateDetailedEntity() { CreateUserId = originalEntity.CreateUserId, CreateUserName = originalEntity.CreateUserName, CreateUserDeptCode = originalEntity.CreateUserDeptCode, CreateUserOrgCode = originalEntity.CreateUserOrgCode, Createuserdeptid = originalEntity.Createuserdeptid, Platenumber = originalEntity.Platenumber, Takegoodsname = originalEntity.Takegoodsname, Goodsname = originalEntity.Goodsname, ShipUnloading = originalEntity.ShipUnloading, DataType = originalEntity.DataType, IsDelete = 1, Remark = originalEntity.Remark }; SaveWeightBridgeDetail(string.Empty, newEntity); CalculateEntity returnEntity = new CalculateEntity() { BaseId = newEntity.ID, Numbers = newEntity.Numbers, DataType = newEntity.DataType, Takegoodsname = newEntity.Takegoodsname, Goodsname = newEntity.Goodsname, Platenumber = newEntity.Platenumber, }; return(returnEntity); }
/// <summary> /// 手机接口保存 /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveWeightBridgeDetail(string keyValue, CalculateDetailedEntity entity) { try { service.SaveWeightBridgeDetail(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// /// </summary> /// <param name="key"></param> /// <param name="entity"></param> public void SaveWeightBridgeDetail(string key, CalculateDetailedEntity entity) { Repository <CalculateDetailedEntity> Repository = new Repository <CalculateDetailedEntity>(DbFactory.Base()); if (!string.IsNullOrEmpty(key)) { entity.Modify(key); Repository.Update(entity); } else { entity.Create(); string sql = string.Format("SELECT COUNT(NUMBERS) FROM WL_CALCULATEDETAILED WHERE TO_CHAR(CREATEDATE,'yyyy-MM-dd')='{0}'", DateTime.Now.ToString("yyyy-MM-dd")); lock (numberLock) { DataTable count = this.BaseRepository().FindTable(sql); string numbers = string.Format("{0}{1}", DateTime.Now.ToString("yyMMdd"), (Convert.ToInt32(count.Rows[0][0]) + 1).ToString().PadLeft(3, '0')); entity.Numbers = numbers; Repository.Insert(entity); } } }
/// <summary> /// 查询未出场票 /// </summary> /// <returns></returns> public CalculateEntity GetEntranceTicket(string carNo) { CalculateEntity entity = null; OperticketmanagerEntity opEntity; //车辆上磅称重 if (!string.IsNullOrEmpty(carNo)) { //Repository<CalculateEntity> repository = new Repository<CalculateEntity>(DbFactory.Base()); //查询已过皮重未过毛重 string sql = string.Format(@"SELECT a.id,a.numbers,a.takegoodsname,a.GOODSNAME,a.platenumber,a.tare,a.taretime,a.BASEID,DataType FROM wl_calculate a where a.isdelete='1' and a.rough is null and a.platenumber='{0}'", carNo); entity = this.BaseRepository().FindList(sql).FirstOrDefault(); if (entity == null) { //查询已开票未称重数据(开票室) sql = string.Format("SELECT * FROM WL_OPERTICKETMANAGER a WHERE a.isdelete='1' and NOT EXISTS(SELECT ID FROM WL_CALCULATE b WHERE a.ID=b.BASEID) AND PLATENUMBER='{0}'", carNo); Repository <OperticketmanagerEntity> repository = new Repository <OperticketmanagerEntity>(DbFactory.Base()); opEntity = repository.FindList(sql).OrderByDescending(x => x.CreateDate).FirstOrDefault(); //未找到开票信息 if (opEntity == null) { //装船开票数据 Repository <OperticketmanagerEntity> repositoryLoading = new Repository <OperticketmanagerEntity>(DbFactory.Base()); sql = string.Format("SELECT * FROM WL_OPERTICKETMANAGER WHERE ShipLoading=1 and PLATENUMBER='{0}' and CREATEDATE>TO_DATE('{1}','yyyy-MM-dd HH24:mi:ss')", carNo, DateTime.Now.AddHours(-2).ToString("yyyy-MM-dd HH:mm:ss")); opEntity = repositoryLoading.FindList(sql).OrderByDescending(x => x.CreateDate).FirstOrDefault(); if (opEntity != null) { entity = AutoGenerateTicket(opEntity); } else { //查询已开票未称重数据(地磅室) sql = string.Format("SELECT * FROM WL_CALCULATEDETAILED a WHERE NOT EXISTS(SELECT NUMBERS FROM WL_CALCULATE b WHERE a.NUMBERS=b.NUMBERS) AND PLATENUMBER='{0}'", carNo); Repository <CalculateDetailedEntity> repositoryPound = new Repository <CalculateDetailedEntity>(DbFactory.Base()); CalculateDetailedEntity detailEntity = repositoryPound.FindList(sql).OrderByDescending(x => x.CreateDate).FirstOrDefault(); if (detailEntity != null) { entity = new CalculateEntity() { BaseId = detailEntity.ID, DataType = "0", Numbers = detailEntity.Numbers, Takegoodsname = detailEntity.Takegoodsname, Goodsname = detailEntity.Goodsname, Platenumber = detailEntity.Platenumber, }; } else { //卸船开票 Repository <CalculateDetailedEntity> repositoryPoundUnloading = new Repository <CalculateDetailedEntity>(DbFactory.Base()); sql = string.Format("SELECT * FROM WL_CALCULATEDETAILED WHERE ShipUnloading=1 and PLATENUMBER='{0}' and CREATEDATE>TO_DATE('{1}','yyyy-MM-dd HH24:mi:ss')", carNo, DateTime.Now.AddHours(-2).ToString("yyyy-MM-dd HH:mm:ss")); detailEntity = repositoryPoundUnloading.FindList(sql).OrderByDescending(x => x.CreateDate).FirstOrDefault(); if (detailEntity != null) { entity = AutoGenerateTicket(detailEntity); } } } } else //已存在开票数据 { entity = new CalculateEntity() { BaseId = opEntity.ID, DataType = "4", Numbers = opEntity.Numbers, Takegoodsname = opEntity.Takegoodsname, Goodsname = opEntity.Producttype, Platenumber = opEntity.Platenumber, }; } } } return(entity); }