|
@@ -98,6 +98,9 @@ public class BizArchiveInputController extends BaseController {
|
|
@Resource
|
|
@Resource
|
|
private IBizWorkOrderRecordService workOrderRecordService;
|
|
private IBizWorkOrderRecordService workOrderRecordService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private IBizArchiveInputDetailService bizArchiveInputDetailServiceService;
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询档案入库列表
|
|
* 查询档案入库列表
|
|
@@ -264,6 +267,11 @@ public class BizArchiveInputController extends BaseController {
|
|
@Log(title = "合同解除", businessType = BusinessType.UPDATE)
|
|
@Log(title = "合同解除", businessType = BusinessType.UPDATE)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public AjaxResult dissolution(@RequestBody BizArchiveInput bizArchiveInput) {
|
|
public AjaxResult dissolution(@RequestBody BizArchiveInput bizArchiveInput) {
|
|
|
|
+ boolean b = relieveCheck(bizArchiveInput);
|
|
|
|
+ if (!b) {
|
|
|
|
+ throw new RuntimeException("解除失败,请先解除最后签约合同");
|
|
|
|
+ }
|
|
|
|
+
|
|
bizArchiveInput = getById(bizArchiveInput.getId());
|
|
bizArchiveInput = getById(bizArchiveInput.getId());
|
|
bizArchiveInput.setDissolution(1);
|
|
bizArchiveInput.setDissolution(1);
|
|
bizArchiveInput.setStatus(9);
|
|
bizArchiveInput.setStatus(9);
|
|
@@ -407,7 +415,7 @@ public class BizArchiveInputController extends BaseController {
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
List<LocalDate> datesList = list.stream().map(x -> {
|
|
List<LocalDate> datesList = list.stream().map(x -> {
|
|
String formattedMonth = String.format("%02d", Integer.valueOf(x.getMonth()).intValue());
|
|
String formattedMonth = String.format("%02d", Integer.valueOf(x.getMonth()).intValue());
|
|
- return LocalDate.parse(x.getYear() + "-" +formattedMonth+"-01", formatter);
|
|
|
|
|
|
+ return LocalDate.parse(x.getYear() + "-" + formattedMonth + "-01", formatter);
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
TimeVo time = getTime(item.getContractId(), item.getId(), item.getTaskTypeId(), newBizArchiveInput.getCompanyId());
|
|
TimeVo time = getTime(item.getContractId(), item.getId(), item.getTaskTypeId(), newBizArchiveInput.getCompanyId());
|
|
if (time != null) {
|
|
if (time != null) {
|
|
@@ -601,7 +609,7 @@ public class BizArchiveInputController extends BaseController {
|
|
.eq(BizWorkOrderDetail::getContractDetailId, contractDetailId)
|
|
.eq(BizWorkOrderDetail::getContractDetailId, contractDetailId)
|
|
.eq(BizWorkOrderDetail::getCompanyId, companyId)
|
|
.eq(BizWorkOrderDetail::getCompanyId, companyId)
|
|
.eq(BizWorkOrderDetail::getTaskTypeId, typeId).eq(BizWorkOrderDetail::getDeleted, 0));
|
|
.eq(BizWorkOrderDetail::getTaskTypeId, typeId).eq(BizWorkOrderDetail::getDeleted, 0));
|
|
- if (one == null){
|
|
|
|
|
|
+ if (one == null) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
Long workOrderId = one.getWorkOrderId();
|
|
Long workOrderId = one.getWorkOrderId();
|
|
@@ -653,5 +661,103 @@ public class BizArchiveInputController extends BaseController {
|
|
return total;
|
|
return total;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public boolean relieveCheck(BizArchiveInput input) {
|
|
|
|
+ boolean flag = false;
|
|
|
|
+ //通过公司id 合同id taskId 查询 workOrderDetail 如果是最后一条则可以删除
|
|
|
|
+ List<BizArchiveInputDetail> list = bizArchiveInputDetailServiceService.list(
|
|
|
|
+ new LambdaQueryWrapper<BizArchiveInputDetail>()
|
|
|
|
+ .eq(BizArchiveInputDetail::getContractId, input.getId())
|
|
|
|
+ .eq(BizArchiveInputDetail::getDeleted, 0)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ List<BizArchiveInputDetail> details = list;
|
|
|
|
+ //代理记账
|
|
|
|
+ BizWorkOrderDetail typeOne = null;
|
|
|
|
+ //社保
|
|
|
|
+ BizWorkOrderDetail typeTwo = null;
|
|
|
|
+ //公积金
|
|
|
|
+ BizWorkOrderDetail typeThree = null;
|
|
|
|
+ //报税申报
|
|
|
|
+ BizWorkOrderDetail typeFour = null;
|
|
|
|
+ for (BizArchiveInputDetail detail : details) {
|
|
|
|
+ BizWorkOrderDetail one = bizWorkOrderDetailService.getOne(new LambdaQueryWrapper<BizWorkOrderDetail>()
|
|
|
|
+ .eq(BizWorkOrderDetail::getContractId, input.getId())
|
|
|
|
+ .eq(BizWorkOrderDetail::getContractDetailId, detail.getId())
|
|
|
|
+ .eq(BizWorkOrderDetail::getTaskTypeId, detail.getTaskTypeId())
|
|
|
|
+ .eq(BizWorkOrderDetail::getDeleted, 0)
|
|
|
|
+ .eq(BizWorkOrderDetail::getCompanyId, input.getCompanyId())
|
|
|
|
+ );
|
|
|
|
+ if (detail.getTaskTypeId() == 1) {
|
|
|
|
+ typeOne = one;
|
|
|
|
+ } else if (detail.getTaskTypeId() == 2) {
|
|
|
|
+ typeTwo = one;
|
|
|
|
+ } else if (detail.getTaskTypeId() == 3) {
|
|
|
|
+ typeThree = one;
|
|
|
|
+ } else if (detail.getTaskTypeId() == 4) {
|
|
|
|
+ typeFour = one;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (typeOne != null) {
|
|
|
|
+ Long workOrderId = typeOne.getWorkOrderId();
|
|
|
|
+ //获取时间最后一个
|
|
|
|
+ BizWorkOrderDetail bizWorkOrderDetail = bizWorkOrderDetailService.list(new LambdaQueryWrapper<BizWorkOrderDetail>()
|
|
|
|
+ .eq(BizWorkOrderDetail::getWorkOrderId, workOrderId)
|
|
|
|
+ .eq(BizWorkOrderDetail::getDeleted, 0)
|
|
|
|
+ .eq(BizWorkOrderDetail::getIsStop, 0)
|
|
|
|
+ .orderByDesc(BizWorkOrderDetail::getCreateTime)
|
|
|
|
+ ).get(0);
|
|
|
|
+ if (bizWorkOrderDetail.getId().equals(typeOne.getId())) {
|
|
|
|
+ flag = true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if (typeTwo != null) {
|
|
|
|
+ Long workOrderId = typeTwo.getWorkOrderId();
|
|
|
|
+ //获取时间最后一个
|
|
|
|
+ BizWorkOrderDetail bizWorkOrderDetail = bizWorkOrderDetailService.list(new LambdaQueryWrapper<BizWorkOrderDetail>()
|
|
|
|
+ .eq(BizWorkOrderDetail::getWorkOrderId, workOrderId)
|
|
|
|
+ .eq(BizWorkOrderDetail::getDeleted, 0)
|
|
|
|
+ .orderByDesc(BizWorkOrderDetail::getCreateTime)
|
|
|
|
+ ).get(0);
|
|
|
|
+ if (bizWorkOrderDetail.getId().equals(typeTwo.getId())) {
|
|
|
|
+ flag = true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if (typeThree != null) {
|
|
|
|
+ Long workOrderId = typeThree.getWorkOrderId();
|
|
|
|
+ //获取时间最后一个
|
|
|
|
+ BizWorkOrderDetail bizWorkOrderDetail = bizWorkOrderDetailService.list(new LambdaQueryWrapper<BizWorkOrderDetail>()
|
|
|
|
+ .eq(BizWorkOrderDetail::getWorkOrderId, workOrderId)
|
|
|
|
+ .eq(BizWorkOrderDetail::getDeleted, 0)
|
|
|
|
+ .orderByDesc(BizWorkOrderDetail::getCreateTime)
|
|
|
|
+ ).get(0);
|
|
|
|
+ if (bizWorkOrderDetail.getId().equals(typeThree.getId())) {
|
|
|
|
+ flag = true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if (typeFour != null) {
|
|
|
|
+ Long workOrderId = typeFour.getWorkOrderId();
|
|
|
|
+ //获取时间最后一个
|
|
|
|
+ BizWorkOrderDetail bizWorkOrderDetail = bizWorkOrderDetailService.list(new LambdaQueryWrapper<BizWorkOrderDetail>()
|
|
|
|
+ .eq(BizWorkOrderDetail::getWorkOrderId, workOrderId)
|
|
|
|
+ .eq(BizWorkOrderDetail::getDeleted, 0)
|
|
|
|
+ .orderByDesc(BizWorkOrderDetail::getCreateTime)
|
|
|
|
+ ).get(0);
|
|
|
|
+ if (bizWorkOrderDetail.getId().equals(typeFour.getId())) {
|
|
|
|
+ flag = true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return flag;
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|