diff --git a/oms_web/oms_vue/src/views/project/info/index.vue b/oms_web/oms_vue/src/views/project/info/index.vue
index 5aae6ee4..4bfec5a0 100644
--- a/oms_web/oms_vue/src/views/project/info/index.vue
+++ b/oms_web/oms_vue/src/views/project/info/index.vue
@@ -202,12 +202,12 @@
{{ parseTime(scope.row.lastWorkUpdateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
-
+
-
+
{ $modal.msgError('无权限修改');return false;}" />
@@ -226,8 +226,8 @@
size="mini"
type="text"
icon="el-icon-refresh"
- @click="openOrder(scope.row.id, scope.row.canGenerate)"
- :disabled="!scope.row.canGenerate || scope.row.jointTrial !== '1'"
+ @click="openOrder(scope.row.id, scope.row.canGenerate, scope.row.jointTrial)"
+ :disabled="!scope.row.canGenerate "
v-hasPermi="['sip:project:add']"
>生成订单
{
this.$modal.msgSuccess("取消成功");
-
})
}).catch((err)=>{
row.jointTrial = row.jointTrial === '1' ? '0' : '1';
diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OmsReceiptBillController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OmsReceiptBillController.java
index a1ce2c1f..4614fbbe 100644
--- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OmsReceiptBillController.java
+++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OmsReceiptBillController.java
@@ -96,6 +96,14 @@ public class OmsReceiptBillController extends BaseController {
, OmsReceiptBill::getReceiptBillCode, (a, b) -> a.setApproveNode(b.get(a.getReceiptBillCode())));
return AjaxResult.success(data);
}
+ @GetMapping(value = "/code/{code}")
+ public AjaxResult getInfoByCode(@PathVariable("code") String receiptBillCode) {
+ OmsReceiptBill data = omsReceiptBillService.getInfoByCode(receiptBillCode);
+// todoService.fillApproveNode(Collections.singletonList(data),
+// Arrays.asList(processConfig.getDefinition().getFinanceReceiptApprove(), processConfig.getDefinition().getFinanceReceiptRefound())
+// , OmsReceiptBill::getReceiptBillCode, (a, b) -> a.setApproveNode(b.get(a.getReceiptBillCode())));
+ return AjaxResult.success(data);
+ }
diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsReceiptBillService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsReceiptBillService.java
index 32934265..039c0e3f 100644
--- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsReceiptBillService.java
+++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsReceiptBillService.java
@@ -68,6 +68,8 @@ public interface IOmsReceiptBillService {
List listApproved(OmsReceiptBill omsReceiptBill);
AjaxResult revoke(OmsReceiptBill omsReceiptBill);
+
+ OmsReceiptBill getInfoByCode(String receiptBillCode);
}
diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsReceiptBillServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsReceiptBillServiceImpl.java
index 5a952048..9970b5c5 100644
--- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsReceiptBillServiceImpl.java
+++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsReceiptBillServiceImpl.java
@@ -548,6 +548,20 @@ public class OmsReceiptBillServiceImpl implements IOmsReceiptBillService, TodoCo
return AjaxResult.success("撤销成功");
}
+ @Override
+ public OmsReceiptBill getInfoByCode(String receiptBillCode) {
+ OmsReceiptBill receiptBill = omsReceiptBillMapper.queryByCode(receiptBillCode);
+ if (receiptBill == null){
+ return null;
+ }
+ List receiptDetailDTOS = omsReceivableReceiptDetailService.listReceivableByReceiptBillCode(receiptBill.getReceiptBillCode());
+ receiptBill.setDetailDTOList(receiptDetailDTOS);
+ List list = attachmentService.list(Collections.singletonList(receiptBill.getId()), OmsFinAttachment.RelatedBillTypeEnum.RECEIPT.getCode());
+ Optional first = list.stream().filter(item -> !"2".equals(item.getDelFlag())).max((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime()));
+ receiptBill.setAttachment(first.orElse(null));
+ return receiptBill;
+ }
+
@Override
public Object todoDetail(String businessKey, String processKey, String todoId) {
@@ -585,45 +599,45 @@ public class OmsReceiptBillServiceImpl implements IOmsReceiptBillService, TodoCo
omsReceiptBillMapper.update(updateBill);
}
}else{
- if (todo.getProcessKey().equals(processConfig.getDefinition().getFinanceReceiptApprove()) && taskName.startsWith("财务")){
- //处理收款审批
- OmsReceiptBill updateBill = new OmsReceiptBill();
- updateBill.setId(receiptBill.getId());
- updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
- updateBill.setActualReceiptTime(DateUtils.getNowDate());
- updateBill.setApproveTime(DateUtils.getNowDate());
- updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.PAYMENT.getCode());
- if (receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())){
- updateBill.setRemainingAmount(receiptBill.getTotalPriceWithTax());
- }
- omsReceiptBillMapper.update(updateBill);
- List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
- receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
- if (!receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())) {
- //审批完成后需要自动核销 因为审批时已经上传附件
- WriteOffReceiptRequestDto writeOffRequestDto = new WriteOffReceiptRequestDto();
- writeOffRequestDto.setReceiptBillId(receiptBill.getId());
- writeOffRequestDto.setDetailList(omsReceivableReceiptDetailList);
- writeOffRequestDto.setPartnerCode(receiptBill.getPartnerCode());
- writeOffRequestDto.setPartnerName(receiptBill.getPartnerName());
- writeOffRequestDto.setRemark(StrUtil.format("{}自动核销数据:{}", DateUtils.getTime(), receiptBill.getReceiptBillCode()));
- // 新增核销记录
- omsReceivableWriteOffService.autoWriteOff(writeOffRequestDto);
- }
-
-
-
- }else if(todo.getProcessKey().equals(processConfig.getDefinition().getFinanceReceiptRefound()) && taskName.startsWith("公司领导")){
- //处理退款审批
- OmsReceiptBill updateBill = new OmsReceiptBill();
- updateBill.setId(receiptBill.getId());
- updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
- updateBill.setApproveTime(DateUtils.getNowDate());
- updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.REFUNDED.getCode());
- omsReceiptBillMapper.update(updateBill);
- List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
- receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
- }
+// if (todo.getProcessKey().equals(processConfig.getDefinition().getFinanceReceiptApprove()) && taskName.startsWith("财务")){
+// //处理收款审批
+// OmsReceiptBill updateBill = new OmsReceiptBill();
+// updateBill.setId(receiptBill.getId());
+// updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
+// updateBill.setActualReceiptTime(DateUtils.getNowDate());
+// updateBill.setApproveTime(DateUtils.getNowDate());
+// updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.PAYMENT.getCode());
+// if (receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())){
+// updateBill.setRemainingAmount(receiptBill.getTotalPriceWithTax());
+// }
+// omsReceiptBillMapper.update(updateBill);
+// List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
+// receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
+// if (!receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())) {
+// //审批完成后需要自动核销 因为审批时已经上传附件
+// WriteOffReceiptRequestDto writeOffRequestDto = new WriteOffReceiptRequestDto();
+// writeOffRequestDto.setReceiptBillId(receiptBill.getId());
+// writeOffRequestDto.setDetailList(omsReceivableReceiptDetailList);
+// writeOffRequestDto.setPartnerCode(receiptBill.getPartnerCode());
+// writeOffRequestDto.setPartnerName(receiptBill.getPartnerName());
+// writeOffRequestDto.setRemark(StrUtil.format("{}自动核销数据:{}", DateUtils.getTime(), receiptBill.getReceiptBillCode()));
+// // 新增核销记录
+// omsReceivableWriteOffService.autoWriteOff(writeOffRequestDto);
+// }
+//
+//
+//
+// }else if(todo.getProcessKey().equals(processConfig.getDefinition().getFinanceReceiptRefound()) && taskName.startsWith("公司领导")){
+// //处理退款审批
+// OmsReceiptBill updateBill = new OmsReceiptBill();
+// updateBill.setId(receiptBill.getId());
+// updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
+// updateBill.setApproveTime(DateUtils.getNowDate());
+// updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.REFUNDED.getCode());
+// omsReceiptBillMapper.update(updateBill);
+// List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
+// receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
+// }
}
@@ -637,6 +651,52 @@ public class OmsReceiptBillServiceImpl implements IOmsReceiptBillService, TodoCo
@Override
public boolean multiInstanceApproveCallback(String activityName, ProcessInstance processInstance) {
+ Map processVariables = processInstance.getProcessVariables();
+ Integer approveBtn = (Integer) processVariables.get("approveBtn");
+ if (approveBtn == null || approveBtn!=1){
+ return TodoCommonTemplate.super.multiInstanceApproveCallback(activityName, processInstance);
+ }
+ String flowBusinessKey = processInstance.getBusinessKey();
+ OmsReceiptBill receiptBill = omsReceiptBillMapper.queryByCode(flowBusinessKey);
+ if (processInstance.getProcessDefinitionKey().equals(processConfig.getDefinition().getFinanceReceiptApprove()) && activityName.startsWith("财务")){
+ //处理收款审批
+ OmsReceiptBill updateBill = new OmsReceiptBill();
+ updateBill.setId(receiptBill.getId());
+ updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
+ updateBill.setActualReceiptTime(DateUtils.getNowDate());
+ updateBill.setApproveTime(DateUtils.getNowDate());
+ updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.PAYMENT.getCode());
+ if (receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())){
+ updateBill.setRemainingAmount(receiptBill.getTotalPriceWithTax());
+ }
+ omsReceiptBillMapper.update(updateBill);
+ List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
+ receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
+ if (!receiptBill.getReceiptBillType().equals(OmsReceiptBill.ReceiptBillTypeEnum.PRE_RECEIPT.getCode())) {
+ //审批完成后需要自动核销 因为审批时已经上传附件
+ WriteOffReceiptRequestDto writeOffRequestDto = new WriteOffReceiptRequestDto();
+ writeOffRequestDto.setReceiptBillId(receiptBill.getId());
+ writeOffRequestDto.setDetailList(omsReceivableReceiptDetailList);
+ writeOffRequestDto.setPartnerCode(receiptBill.getPartnerCode());
+ writeOffRequestDto.setPartnerName(receiptBill.getPartnerName());
+ writeOffRequestDto.setRemark(StrUtil.format("{}自动核销数据:{}", DateUtils.getTime(), receiptBill.getReceiptBillCode()));
+ // 新增核销记录
+ omsReceivableWriteOffService.autoWriteOff(writeOffRequestDto);
+ }
+
+
+
+ }else if(processInstance.getProcessDefinitionKey().equals(processConfig.getDefinition().getFinanceReceiptRefound()) && activityName.startsWith("公司领导")){
+ //处理退款审批
+ OmsReceiptBill updateBill = new OmsReceiptBill();
+ updateBill.setId(receiptBill.getId());
+ updateBill.setApproveStatus(ApproveStatusEnum.APPROVE_COMPLETE.getCode());
+ updateBill.setApproveTime(DateUtils.getNowDate());
+ updateBill.setReceiptStatus(OmsReceiptBill.ReceiptStatusEnum.REFUNDED.getCode());
+ omsReceiptBillMapper.update(updateBill);
+ List omsReceivableReceiptDetailList = omsReceivableReceiptDetailService.listByReceiptBillCode(receiptBill.getReceiptBillCode());
+ receivableBillService.updateReceiptAmount(omsReceivableReceiptDetailList.stream().map(OmsReceivableReceiptDetail::getReceivableBillId).collect(Collectors.toList()));
+ }
return TodoCommonTemplate.super.multiInstanceApproveCallback(activityName, processInstance);
}
}
diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java
index b2c28c93..48d4e88c 100644
--- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java
+++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java
@@ -158,7 +158,7 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
if (customerInfo != null) {
info.setCustomerAddress(customerInfo.getAddress());
}
- info.setCanGenerate(orderInfoMap.get(info.getId()) == null && "1".equals(info.getJointTrial()));
+ info.setCanGenerate(orderInfoMap.get(info.getId()) == null);
if (info.getLastWorkUpdateTime() != null) {
LocalDate localDate = info.getLastWorkUpdateTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Period between = Period.between(localDate, now);
@@ -604,7 +604,13 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
@Override
public int editJoinTrial(ProjectInfo projectInfo) {
- return projectInfoMapper.updateProjectInfo(projectInfo);
+ if ("0".equals(projectInfo.getJointTrial())){
+ List projectOrderInfos = orderInfoService.selectProjectOrderInfoByProjectId(Collections.singletonList(projectInfo.getId()));
+ if (CollUtil.isNotEmpty(projectOrderInfos)){
+ throw new ServiceException("已生成项目,无法取消会审");
+ }
+ }
+ return projectInfoMapper.updateProjectInfo(projectInfo);
}
private List fetchProjectInfos(ProjectInfo projectInfo) {
diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java
index 159d17a2..8137a5d5 100644
--- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java
+++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java
@@ -294,6 +294,10 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
if (projectOrderInfo.getProjectId() == null) {
throw new ServiceException("请选择项目");
}
+ ProjectInfo projectInfo = projectInfoMapper.selectProjectInfoById(projectOrderInfo.getProjectId());
+ if (projectInfo == null|| !"1".equals(projectInfo.getJointTrial())){
+ throw new ServiceException("请进行项目会审");
+ }
List projectOrderInfos = this.selectProjectOrderInfoByProjectId(Collections.singletonList(projectOrderInfo.getProjectId()));
if (CollUtil.isNotEmpty(projectOrderInfos)) {
throw new ServiceException("该项目存在订单流转,无法添加");