123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- using AutoMapper;
- using Microsoft.Extensions.Logging;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq.Expressions;
- using System.Text;
- using wms.dataservice.IDataSetvice;
- using wms.dto.request.cp;
- using wms.dto.request.fj;
- using wms.dto.response;
- using wms.dto.response.cp;
- using wms.service.IService;
- using wms.sqlsugar;
- using wms.sqlsugar.model;
- using wms.sqlsugar.model.cp;
- namespace wms.service.Service
- {
- public class CPService: ICPService
- {
- private readonly IMapper _mapper;
- private readonly ILogger<CPService> _logger;
- private readonly ICPDataService _cptDataService;
- public CPService(IMapper mapper, ILogger<CPService> logger, ICPDataService cptDataService)
- {
- _mapper = mapper;
- _logger = logger;
- _cptDataService = cptDataService;
- }
- Repository<cpBillDocument> _docrepository => new Repository<cpBillDocument>();
- Repository<cpBaseContainer> _cpBaseContainer => new Repository<cpBaseContainer>();
- Repository<cpSysConfig> _sysconfigrepository => new Repository<cpSysConfig>();
- Repository<cpBaseMater> _materrepository => new Repository<cpBaseMater>();
- Repository<cpBillTask> _billTaskrepository => new Repository<cpBillTask>();
- Repository<cpBaseWarehouse> _baseWareHouserepository => new Repository<cpBaseWarehouse>();
- Repository<cpBaseWareLocation> _baseWareLocationrepository => new Repository<cpBaseWareLocation>();
- Repository<cpBillBarcode> _billBarcoderepository => new Repository<cpBillBarcode>();
- Repository<cpBillFeedbackPush> _billFbackPushrepository => new Repository<cpBillFeedbackPush>();
- Repository<cpBillContainer> _billGroupStockrepository => new Repository<cpBillContainer>();
- Repository<cpBillTaskHistory> _billTaskHistoryrepository => new Repository<cpBillTaskHistory>();
- Repository<cpSysJob> _sysJobrepository => new Repository<cpSysJob>();
- Repository<cpSysJobApiRelation> _sysJobApirepository => new Repository<cpSysJobApiRelation>();
- Repository<cpBillInvFlow> _cpBillInvFlow => new Repository<cpBillInvFlow>();
- Repository<cpBillTaskDetail> _cpBillTaskDetail => new Repository<cpBillTaskDetail>();
- Repository<cpBillLocationMap> _cpBillLocationMap => new Repository<cpBillLocationMap>();
- ITenant _db => SqlSugarHelper.Db;//处理事务
- /// <summary>
- /// 添加单据
- /// </summary>
- /// <returns></returns>
- public bool Add(cpBillDocument data1)
- {
- try
- {
- _db.BeginTran();
- _docrepository.Insert(data1);
- _db.CommitTran();
- }
- catch (Exception)
- {
- _db.RollbackTran();
- throw;
- }
- return true;
- }
- /// <summary>
- /// 获取配置内容信息
- /// </summary>
- /// <param name="code">配置表code值</param>
- /// <returns></returns>
- public string GetSysConfigContentByCode(string code)
- {
- //先读缓存
- var cacheContent = RedisHelper.Get("sys_config" + code);
- if (!string.IsNullOrEmpty(cacheContent))
- {
- return cacheContent;
- }
- var sysconf = _sysconfigrepository.GetSingle(p => p.Code == code);
- if (sysconf == null)
- {
- throw new Exception("数据表没有配置" + code);
- }
- var content = sysconf.SContent;
- string sysname = sysconf.Default1;//所属系统mes/erp
- RedisHelper.Set("sys_config" + code, content + "|" + sysname);
- return content;
- }
- /// <summary>
- /// 获取配置信息
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public cpSysConfig GetSysConfigByCode(string code)
- {
- //Repository<dynamic> _billdtrepository = new Repository<dynamic>();
- return _sysconfigrepository.GetSingle(p => p.Code == code);
- }
- /// <summary>
- /// 获取物料信息
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public cpBaseMater GetBaseMaterByExpression(Expression<Func<cpBaseMater, bool>> WhereExpression)
- {
- return _materrepository.GetSingle(WhereExpression);
- }
- /// <summary>
- /// 获取配置信息
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public cpSysConfig GetSysConfigByExpression(Expression<Func<cpSysConfig, bool>> WhereExpression)
- {
- return _sysconfigrepository.GetSingle(WhereExpression);
- }
- /// <summary>
- /// 获取单据信息
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public cpBillDocument GetBillDocumentByExpression(Expression<Func<cpBillDocument, bool>> WhereExpression)
- {
- return _docrepository.GetSingle(WhereExpression);
- }
- /// <summary>
- /// 获取反馈信息
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public List<cpBillFeedbackPush> GetBillFeedbackList(Expression<Func<cpBillFeedbackPush, bool>> WhereExpression)
- {
- return _billFbackPushrepository.GetList(WhereExpression);
- }
- ///// <summary>
- ///// 获取单据信息
- ///// </summary>
- ///// <param name="code"></param>
- ///// <returns></returns>
- //public cpBillDocument GetBillDocumentList(Expression<Func<cpBillDocument, bool>> WhereExpression)
- //{
- // return _billdtrepository.Context.Queryable<cpBillDocument, cpSysConfig>((doc, conf) => new object[] {
- // JoinType.Left, doc.BState == conf.Code
- // }).Where((doc, conf) => doc.Status == 0)
- // .Select((bc, bm) => bc).First();
- //}
- /// <summary>
- /// 更新SysConfig表字段
- /// </summary>
- /// <param name="updateModel"></param>
- /// <returns></returns>
- public bool UpdateSysConfigModelColumns(UpdateModelColumns<cpSysConfig> updateModel)
- {
- return _sysconfigrepository.Update(updateModel.Columns, updateModel.WhereExpression);
- }
- public bool SyncMaterInfo(List<CPSyncMaterInfoResponseItem> ResData)
- {
- foreach (var item in ResData)
- {
- if (_materrepository.IsAny(p => p.Code == item.MatCode))
- {
- _materrepository.UpdateModelColumns(p => new cpBaseMater() { IsHold = item.IsHold, HoldDuration = item.HoldDuration },
- p => p.Code == item.MatCode);
- }
- else
- {
- var model = _mapper.Map<cpBaseMater>(item);
- _materrepository.Insert(model);
- }
- }
- return true;
- }
- public SRes SpoolMaterialInfoTrans(dto.request.cp.SpoolMaterialInfoTransRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
-
- public SRes SalesDocTrans(SalesDocTransRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
- public SRes SalesBackDocTrans(SalesDocTransRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
- public SRes ComPushApiResInfo(ComPushApiResInfoRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
- public SRes ErrorMaterialStockOut(dto.request.cp.ErrorMaterialStockOutRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
- public SRes StockChange(CpStockChangeRequest reqDto)
- {
- var result = new SRes();
- return result;
- }
- public StockStateChangeResponse StockStateChange(StockStateChangeRequest reqDto)
- {
- var result = new StockStateChangeResponse();
- return result;
- }
- }
- }
|