From de2dd39319fe9d4c399d58100c775ca3697acb42 Mon Sep 17 00:00:00 2001 From: 17602169347 Date: Fri, 31 Mar 2023 11:23:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=96=B0=E5=8A=A0=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/workflow/engine/FlowTaskMapper.xml | 3 + .../controller/FlowBeforeController.java | 27 ++ .../controller/FlowLaunchController.java | 3 + .../jnpf/engine/mapper/FlowTaskMapper.java | 7 + .../jnpf/engine/service/FlowTaskService.java | 7 + .../service/impl/FlowTaskServiceImpl.java | 5 + .../jnpf/form/entity/PoundlistFlowEntity.java | 241 ++++++++++++++++++ .../jnpf/form/mapper/PoundlistFlowMapper.java | 16 ++ .../form/service/PoundlistFlowService.java | 15 ++ .../impl/PoundlistFlowServiceImpl.java | 19 ++ SC-web/src/views/extend/paymentdoc/form.vue | 5 +- 11 files changed, 345 insertions(+), 3 deletions(-) create mode 100644 SC-boot/linkage-workflow/src/main/java/jnpf/form/entity/PoundlistFlowEntity.java create mode 100644 SC-boot/linkage-workflow/src/main/java/jnpf/form/mapper/PoundlistFlowMapper.java create mode 100644 SC-boot/linkage-workflow/src/main/java/jnpf/form/service/PoundlistFlowService.java create mode 100644 SC-boot/linkage-workflow/src/main/java/jnpf/form/service/impl/PoundlistFlowServiceImpl.java diff --git a/SC-boot/linkage-admin/src/main/resources/mapper/workflow/engine/FlowTaskMapper.xml b/SC-boot/linkage-admin/src/main/resources/mapper/workflow/engine/FlowTaskMapper.xml index 72ee4441..df798bd3 100644 --- a/SC-boot/linkage-admin/src/main/resources/mapper/workflow/engine/FlowTaskMapper.xml +++ b/SC-boot/linkage-admin/src/main/resources/mapper/workflow/engine/FlowTaskMapper.xml @@ -68,4 +68,7 @@ WHERE 1=1 AND o.F_Completion = 0 AND t.F_Status = 1 AND o.F_State = '0' ${sql} + + UPDATE jg_purchaseorder SET is_payment = '0' WHERE id IN (SELECT purchaseorder_id FROM jg_paymentdoc_item0 WHERE paymentdoc_id = #{paymentdocId}) + diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowBeforeController.java b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowBeforeController.java index b47c0dff..d955a2ea 100644 --- a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowBeforeController.java +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowBeforeController.java @@ -26,6 +26,8 @@ import jnpf.engine.util.FlowJsonUtil; import jnpf.engine.util.FlowNature; import jnpf.engine.util.ServiceAllUtil; import jnpf.exception.WorkFlowException; +import jnpf.form.entity.PoundlistFlowEntity; +import jnpf.form.service.PoundlistFlowService; import jnpf.permission.entity.UserEntity; import jnpf.util.JsonUtil; import jnpf.util.RedisUtil; @@ -72,6 +74,8 @@ public class FlowBeforeController { private FlowEngineService flowEngineService; @Autowired private FlowTaskNewService flowTaskNewService; + @Autowired + private PoundlistFlowService poundlistFlowService; /** * 获取待我审核列表 @@ -141,7 +145,27 @@ public class FlowBeforeController { @PostMapping("/Audit/{id}") public ActionResult audit(@PathVariable("id") String id, @RequestBody FlowHandleModel flowHandleModel) throws WorkFlowException { FlowTaskOperatorEntity operator = flowTaskOperatorService.getInfo(id); + FlowTaskNodeEntity flowTaskNodeEntity = flowTaskNodeService.getById(operator.getTaskNodeId()); FlowTaskEntity flowTask = flowTaskService.getInfo(operator.getTaskId()); + if("end".equals(flowTaskNodeEntity.getNodeNext()) && "398482034802139205".equals(flowTask.getFlowId())){ + //判断当前采购订单的磅单有没有是否垫资为否,并且是否回款为否 + //判断是否开进项票 + Map map = flowHandleModel.getFormData(); + List> paymentdocitem1List = (List>)map.get("paymentdocitem1List"); + List poundListIds = new ArrayList<>(); + for (Map paymentdocitem1 : paymentdocitem1List) { + poundListIds.add((String)paymentdocitem1.get("poundlistId")); + } + List poundlistFlowEntityList = poundlistFlowService.listByIds(poundListIds); + for (PoundlistFlowEntity poundlistFlowEntity : poundlistFlowEntityList) { + if("0".equals(poundlistFlowEntity.getIsInvoicing())){ + return ActionResult.fail("存在磅单未开进项票,无法审批通过!"); + } + if("0".equals(poundlistFlowEntity.getAdvance()) && "0".equals(poundlistFlowEntity.getIsCollection())){ + return ActionResult.fail("存在磅单未垫资且未回款,无法审批通过!"); + } + } + } flowTaskNewService.permissions(operator.getHandleId(), flowTask, operator, ""); if (FlowNature.ProcessCompletion.equals(operator.getCompletion())) { FlowModel flowModel = JsonUtil.getJsonToBean(flowHandleModel, FlowModel.class); @@ -213,6 +237,9 @@ public class FlowBeforeController { FlowTaskOperatorEntity operator = flowTaskOperatorService.getInfo(id); FlowTaskEntity flowTask = flowTaskService.getInfo(operator.getTaskId()); flowTaskNewService.permissions(operator.getHandleId(), flowTask, operator, ""); + if("398482034802139205".equals(flowTask.getFlowId())){ + flowTaskService.updatePurchaseorder(flowTask.getProcessId()); + } if (FlowNature.ProcessCompletion.equals(operator.getCompletion())) { FlowModel flowModel = JsonUtil.getJsonToBean(flowHandleModel, FlowModel.class); UserInfo userInfo = userProvider.get(); diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowLaunchController.java b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowLaunchController.java index e61b1af6..734a8f3f 100644 --- a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowLaunchController.java +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/controller/FlowLaunchController.java @@ -126,6 +126,9 @@ public class FlowLaunchController { @PutMapping("/{id}/Actions/Withdraw") public ActionResult revoke(@PathVariable("id") String id, @RequestBody FlowHandleModel flowHandleModel) throws WorkFlowException { FlowTaskEntity flowTaskEntity = flowTaskService.getInfo(id); + if("398482034802139205".equals(flowTaskEntity.getFlowId())){ + flowTaskService.updatePurchaseorder(flowTaskEntity.getProcessId()); + } FlowModel flowModel = JsonUtil.getJsonToBean(flowHandleModel, FlowModel.class); flowTaskNewService.revoke(flowTaskEntity, flowModel); return ActionResult.success("撤回成功"); diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/mapper/FlowTaskMapper.java b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/mapper/FlowTaskMapper.java index 23bed121..ce6d7fb7 100644 --- a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/mapper/FlowTaskMapper.java +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/mapper/FlowTaskMapper.java @@ -37,4 +37,11 @@ public interface FlowTaskMapper extends BaseMapper { * @return */ List getWaitList(@Param("sql") String sql); + + /** + * 更新采购订单的isPayment为0 + * @param paymentdocId + * @return + */ + void updatePurchaseorder(@Param("paymentdocId") String paymentdocId); } diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/FlowTaskService.java b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/FlowTaskService.java index 9321a87e..d2695751 100644 --- a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/FlowTaskService.java +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/FlowTaskService.java @@ -232,4 +232,11 @@ public interface FlowTaskService extends IService { * @return */ List batchFlowSelector(); + + /** + * 更新采购订单的isPayment为0 + * @param paymentdocId + * @return + */ + void updatePurchaseorder(String paymentdocId); } diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/impl/FlowTaskServiceImpl.java b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/impl/FlowTaskServiceImpl.java index 3125312f..dcfe7097 100644 --- a/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/impl/FlowTaskServiceImpl.java +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/engine/service/impl/FlowTaskServiceImpl.java @@ -671,6 +671,11 @@ public class FlowTaskServiceImpl extends ServiceImpl { +} diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/PoundlistFlowService.java b/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/PoundlistFlowService.java new file mode 100644 index 00000000..da631148 --- /dev/null +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/PoundlistFlowService.java @@ -0,0 +1,15 @@ +package jnpf.form.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.form.entity.PoundlistFlowEntity; + +/** + * + * poundlist + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-02-21 + */ +public interface PoundlistFlowService extends IService { +} diff --git a/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/impl/PoundlistFlowServiceImpl.java b/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/impl/PoundlistFlowServiceImpl.java new file mode 100644 index 00000000..96476ffa --- /dev/null +++ b/SC-boot/linkage-workflow/src/main/java/jnpf/form/service/impl/PoundlistFlowServiceImpl.java @@ -0,0 +1,19 @@ +package jnpf.form.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.form.entity.PoundlistFlowEntity; +import jnpf.form.mapper.PoundlistFlowMapper; +import jnpf.form.service.PoundlistFlowService; +import org.springframework.stereotype.Service; + +/** + * poundlist + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-02-21 + */ +@Service +public class PoundlistFlowServiceImpl extends ServiceImpl implements PoundlistFlowService { + +} \ No newline at end of file diff --git a/SC-web/src/views/extend/paymentdoc/form.vue b/SC-web/src/views/extend/paymentdoc/form.vue index d7335c2c..3997b418 100644 --- a/SC-web/src/views/extend/paymentdoc/form.vue +++ b/SC-web/src/views/extend/paymentdoc/form.vue @@ -439,9 +439,9 @@ - + @@ -969,7 +969,6 @@ paymentAmountHistory = paymentAmountHistory + item.payPrice; //已付款金额 unpaymentAmount = unpaymentAmount + (item.allAmount - item.payPrice); //未付款金额 item.poundlistEntityList.forEach((item2, index2) => { - item2.price = item2.purchasePrice; item2.poundlistId = item2.id; item2.purchaseorderId = item.purchaseorderId; item2.id = '';