|
|
@ -6,6 +6,7 @@ import com.qs.serve.common.config.properties.ProjectProperties; |
|
|
|
import com.qs.serve.common.model.dto.R; |
|
|
|
import com.qs.serve.common.util.Assert; |
|
|
|
import com.qs.serve.common.util.AuthContextUtils; |
|
|
|
import com.qs.serve.common.util.CodeGenUtil; |
|
|
|
import com.qs.serve.common.util.CopierUtil; |
|
|
|
import com.qs.serve.modules.bir.service.BirCenterRateService; |
|
|
|
import com.qs.serve.modules.bir.service.BirRoiRateService; |
|
|
@ -57,6 +58,38 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { |
|
|
|
private VtbVerificationMapper verificationMapper; |
|
|
|
private TbsBudgetLogMapper tbsBudgetLogMapper; |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbsCostApply copyById(Long costId) { |
|
|
|
final String newCostApplyCode = CodeGenUtil.generate(CodeGenUtil.SourceKey.CostApply); |
|
|
|
TbsCostApply costApply = tbsCostApplyService.getById(costId); |
|
|
|
costApply.setId(null); |
|
|
|
costApply.setCode(newCostApplyCode); |
|
|
|
costApply.setCreateBy(null); |
|
|
|
costApply.setCreateTime(null); |
|
|
|
costApply.setUpdateTime(null); |
|
|
|
costApply.setUpdateBy(null); |
|
|
|
costApply.setChangeSourceId(null); |
|
|
|
costApply.setChangeExtendId(null); |
|
|
|
costApply.setCancelFlag(null); |
|
|
|
costApply.setEditAmountFlag(null); |
|
|
|
costApply.setChargeState(TbsCostApplyState.State_0_unPublish.getCode()); |
|
|
|
tbsCostApplyService.save(costApply); |
|
|
|
final Long newCostApplyId = costApply.getId(); |
|
|
|
|
|
|
|
QueryWrapper qw_cost_apply = new QueryWrapper(); |
|
|
|
qw_cost_apply.eq("cost_apply_id",costId); |
|
|
|
List<TbsCostContract> contracts = costContractMapper.selectList(qw_cost_apply); |
|
|
|
contracts.forEach(con->{ |
|
|
|
con.setId(null); |
|
|
|
con.setCostApplyId(newCostApplyId); |
|
|
|
}); |
|
|
|
//活动相关复制
|
|
|
|
List<TbsActivity> activityList = tbsActivityMapper.selectList(qw_cost_apply); |
|
|
|
//更新状态
|
|
|
|
this.copyAboutActivityData(newCostApplyId,newCostApplyCode, activityList); |
|
|
|
return costApply; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public TbsCostApply toSetChanged(Long costId) { |
|
|
@ -90,6 +123,7 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { |
|
|
|
costApply.setCreateTime(null); |
|
|
|
costApply.setUpdateTime(null); |
|
|
|
costApply.setUpdateBy(null); |
|
|
|
costApply.setCancelFlag(null); |
|
|
|
costApply.setChangeSourceId(orgCost.getId()); |
|
|
|
costApply.setChangeExtendId(null); |
|
|
|
costApply.setChargeState(TbsCostApplyState.State_0_unPublish.getCode()); |
|
|
@ -103,6 +137,11 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { |
|
|
|
con.setId(null); |
|
|
|
con.setCostApplyId(newCostApplyId); |
|
|
|
}); |
|
|
|
if(contracts.size()>0){ |
|
|
|
for (TbsCostContract contract : contracts) { |
|
|
|
costContractMapper.insert(contract); |
|
|
|
} |
|
|
|
} |
|
|
|
//活动相关复制
|
|
|
|
List<TbsActivity> activityList = tbsActivityMapper.selectList(qw_cost_apply); |
|
|
|
//更新状态
|
|
|
@ -112,7 +151,7 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { |
|
|
|
LambdaQueryWrapper<TbsActivity> activityLqw = new LambdaQueryWrapper<>(); |
|
|
|
activityLqw.in(TbsActivity::getId,activityIds); |
|
|
|
tbsActivityMapper.update(activity4Update,activityLqw); |
|
|
|
this.copyAboutActivityData(newCostApplyId, activityList); |
|
|
|
this.copyAboutActivityData(newCostApplyId,null, activityList); |
|
|
|
//更变旧记录
|
|
|
|
orgCost.setChangeStateRecord(orgCost.getChargeState()); |
|
|
|
orgCost.setChargeState(TbsCostApplyState.State_7_changed.getCode()); |
|
|
@ -165,14 +204,20 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { |
|
|
|
/** |
|
|
|
* 活动相关复制 |
|
|
|
* @param newCostApplyId |
|
|
|
* @param newCostApplyCode |
|
|
|
* @param activityList |
|
|
|
*/ |
|
|
|
private void copyAboutActivityData(Long newCostApplyId, List<TbsActivity> activityList) { |
|
|
|
private void copyAboutActivityData(Long newCostApplyId,String newCostApplyCode, List<TbsActivity> activityList) { |
|
|
|
int idx = 1; |
|
|
|
for (TbsActivity orgActivity : activityList) { |
|
|
|
//原ActivityID
|
|
|
|
Long orgActivityId = orgActivity.getId(); |
|
|
|
//重新保存
|
|
|
|
orgActivity.setId(null); |
|
|
|
if(newCostApplyCode!=null){ |
|
|
|
orgActivity.setActivityCode(newCostApplyCode+"_"+idx); |
|
|
|
idx++; |
|
|
|
} |
|
|
|
orgActivity.setCostApplyId(newCostApplyId); |
|
|
|
orgActivity.setActivityState(0); |
|
|
|
orgActivity.setCreateBy(null); |
|
|
|