feat: 工作组不收费时 添加成员单位自动填写默认值

This commit is contained in:
2024-03-06 10:26:14 +08:00
parent 55bd0011ee
commit 817ea177a4
4 changed files with 70 additions and 0 deletions
@@ -116,6 +116,8 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
List<PayPackCompanyProject> listPayPackCompanyProjectNew = payPackCompanyProjectService.list(query);
// TODO 将对应的project的待确收金额设为0
if(!CollectionUtils.isEmpty(listPayPackCompanyProjectNew)){
throw new JeroBootException("项目已被打包!");
}
@@ -162,6 +164,31 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
}
}
/**
* 根据项目id和项目类型将具体项目的待确收金额改为0
*/
private void setAmountReceivable(String projectId, String projectType){
switch (projectType){
case PayProjectCommon.PROJECT_TYPE1:
break;
case PayProjectCommon.PROJECT_TYPE2:
break;
case PayProjectCommon.PROJECT_TYPE3:
break;
case PayProjectCommon.PROJECT_TYPE4:
break;
case PayProjectCommon.PROJECT_TYPE5:
break;
default:
break;
}
}
@Override
@Transactional
public void removePayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) {
@@ -405,6 +405,8 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
@ApiOperation(value = "工作组成员-添加", notes = "工作组成员-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
// 找到工作组 看是否收费,如果不收费则填入默认字段
payWorkingGroupService.validAndSetDefaultValue(payWorkingGroupSubItem);
if (Objects.isNull(payWorkingGroupSubItem.getEstimatedArrivalDate())) {
return Result.error("预估到账日期不能为空");
}
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkingGroupSearch;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -241,4 +242,10 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
List<AllProjectMoneyExcel> queryListAllProjectMoneyExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
AllMoney queryAllMoney33(AllProjectStatisticsSearch allProjectStatisticsSearch);
/**
* 工作组成员添加的时候判断是否是不收费项目,如果是不收费项目则填入默认值
* @param payWorkingGroupSubItem 工作组成员
*/
void validAndSetDefaultValue(PayWorkingGroupSubItem payWorkingGroupSubItem);
}
@@ -708,6 +708,40 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
return payWorkingGroupMapper.queryAllMoney33(allProjectStatisticsSearch);
}
@Override
public void validAndSetDefaultValue(PayWorkingGroupSubItem payWorkingGroupSubItem) {
String workGroupId = payWorkingGroupSubItem.getWorkingGroupId();
if (StringUtils.isBlank(workGroupId)) {
throw new JeroBootException("工作组ID不能为空");
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId);
if (Objects.isNull(payWorkingGroup)) {
throw new JeroBootException("工作组不存在");
}
// 找到是否付费标识
Integer payFlag = payWorkingGroup.getPayFlag();
if (Objects.isNull(payFlag)) {
return;
}
// 付费标识为0,表示不收费,则填入默认值
if (payFlag.equals(PayProjectCommon.NO)) {
// 邮寄联系人:默认为企业联系人1
payWorkingGroupSubItem.setMailContactsId(payWorkingGroupSubItem
.getPayWorkingGroupSubItemContactsList().get(0).getContactsId());
// 来款方式:无
payWorkingGroupSubItem.setChargeWay(PayProjectCommon.CHARGE_WAY1);
// 待确收金额(及其他3个字段): 0
payWorkingGroupSubItem.setConfirmAmount(BigDecimal.ZERO);
payWorkingGroupSubItem.setTaxRate(BigDecimal.ZERO);
payWorkingGroupSubItem.setTax(BigDecimal.ZERO);
payWorkingGroupSubItem.setNoTaxAmount(BigDecimal.ZERO);
// 预估到账日期:当天
payWorkingGroupSubItem.setEstimatedArrivalDate(DateUtil.today());
// 需要发票:不需要
payWorkingGroupSubItem.setNeedInvoice(PayProjectCommon.NEED_INVOICE0);
}
}
@NotNull
private List<AllProjectStatistics> getAllProjectMoneyStatistics(AllProjectStatisticsSearch allProjectStatisticsSearch,
List<AllProjectStatistics> allMoneyList,