|
|
@@ -4277,7 +4277,7 @@ namespace Business.ResourceExamineManagement
|
|
|
/// <returns></returns>
|
|
|
public async Task<string> SubstituteSave(SubstituteDto dto)
|
|
|
{
|
|
|
- var rst = SubstituteSaveSync(dto).Result;
|
|
|
+ var rst = SubstituteSaveHandle(dto).Result;
|
|
|
if (rst == "ok")
|
|
|
{
|
|
|
//如果保存成功,则同步到mongodb。
|
|
|
@@ -4336,7 +4336,7 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<string> SubstituteSaveSync(SubstituteDto dto)
|
|
|
+ public async Task<string> SubstituteSaveHandle(SubstituteDto dto)
|
|
|
{
|
|
|
ic_substitute stt;
|
|
|
if (dto.id == null)
|
|
|
@@ -4598,9 +4598,9 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<string> BindingSubstitute(BindingSubstituteDto dto)
|
|
|
+ public async Task<string> BindingSubstituteHandle(BindingSubstituteDto dto)
|
|
|
{
|
|
|
- var list = _mysql_ic_bom_child.GetListAsync(s => s.bom_id == dto.id && s.tenant_id == dto.tenant_id && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
|
|
|
+ var list = _mysql_ic_bom_child.GetListAsync(s => s.bom_id == dto.id && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
|
|
|
|
|
|
if (dto.bomDetail.Any())
|
|
|
{
|
|
|
@@ -4645,6 +4645,44 @@ namespace Business.ResourceExamineManagement
|
|
|
return "ok";
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ public async Task<string> BindingSubstitute(BindingSubstituteDto dto)
|
|
|
+ {
|
|
|
+ var rst = BindingSubstituteHandle(dto).Result;
|
|
|
+ if (rst == "ok")
|
|
|
+ {
|
|
|
+ var list = _mysql_ic_bom_child.GetListAsync(s => s.bom_id == dto.id && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
|
|
|
+ //这个产生了绑定集合,需同步至mongodb,同时清除BOM预处理,再产生新的BOM预处理
|
|
|
+ var moBomChild = _ic_bom_child.GetListAsync(s => s.bom_id == dto.id && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
|
|
|
+ if (moBomChild.Any())
|
|
|
+ {
|
|
|
+ await _ic_bom_child.DeleteManyAsync(moBomChild);
|
|
|
+ }
|
|
|
+ //同步物料BOM明细数据
|
|
|
+ if (list.Count > 0)
|
|
|
+ {
|
|
|
+ var moIcbom_childs = ObjectMapper.Map<List<ic_bom_child>, List<mo_ic_bom_child>>(list);
|
|
|
+ moIcbom_childs.ForEach(s => s.GenerateNewId(help.NextId()));
|
|
|
+ await MongoHelper<mo_ic_bom_child>.InsertManyAsync(moIcbom_childs);
|
|
|
+ }
|
|
|
+ //清除BOM预处理记录
|
|
|
+ var refList = _mysql_b_bom_pretreatment.GetListAsync(s => s.bom_id == dto.id && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
|
|
|
+ if (refList.Any())
|
|
|
+ {
|
|
|
+ var refBomList = _mysql_b_bom_pretreatment.GetListAsync(s => refList.Select(c => c.sourceid).Contains(s.sourceid)).Result;
|
|
|
+ if (refBomList.Any())
|
|
|
+ {
|
|
|
+ await _mysql_b_bom_pretreatment.DeleteManyAsync(refBomList);
|
|
|
+ }
|
|
|
+ var boms = _ic_bom.GetListAsync(s => refList.Select(c => c.sourceid).Contains(s.Id)).Result;
|
|
|
+ if (boms.Any()) {
|
|
|
+ AutoCreateBomBill(dto.company_id.ToString(), boms);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|