| | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.data.BaseResp; |
| | | import com.fzzy.igds.domain.InoutNoticeIn; |
| | | import com.fzzy.igds.domain.InoutNoticeOut; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.fzzy.work.data.OrderStatus; |
| | | import com.fzzy.work.data.WorkBizType; |
| | |
| | | import com.fzzy.work.domain.WorkOrder; |
| | | import com.fzzy.work.domain.WorkOrderConf; |
| | | import com.fzzy.work.domain.WorkOrderProcess; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | * @Author: Andy.jia |
| | | * @Date: 2026/1/15 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class BizWorkService { |
| | | @Resource |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 根据出出库通知单启动审批工单 |
| | | * @param data 出入库工单数据 |
| | | * @return 响应结果 |
| | | */ |
| | | public BaseResp startByNoticeOut(InoutNoticeOut data, WorkOrderConf conf) { |
| | | if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_10); |
| | | |
| | | if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("流程未启用"); |
| | | |
| | | //创建工单 |
| | | WorkOrder work = new WorkOrder(); |
| | | work.setId(ContextUtil.generateOrderId("CKD")); |
| | | work.setBizType(WorkBizType.TYPE_20.getCode()); |
| | | work.setBusinessId(data.getId()); |
| | | work.setBankId(data.getBankId()); |
| | | work.setBusinessUrl("com.fzzy.igds.InoutNoticeOut-Detail.d"); |
| | | work.setCreateTime(new Date()); |
| | | work.setDeptId(data.getDeptId()); |
| | | work.setCompanyId(data.getCompanyId()); |
| | | work.setUpdateTime(new Date()); |
| | | work.setTitle("出库通知单审批"); |
| | | work.setConfId(conf.getId()); |
| | | work.setStatus(OrderStatus.STATUS_30.getCode()); |
| | | work.setReceiveTime(new Date()); |
| | | |
| | | String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode(); |
| | | work.setNode(nextNode); |
| | | orderService.addData(work); |
| | | |
| | | //添加记录 |
| | | WorkOrderProcess process = new WorkOrderProcess(); |
| | | process.setId(ContextUtil.UUID()); |
| | | process.setAction("提交"); |
| | | process.setCreateTime(new Date()); |
| | | process.setOrderId(work.getId()); |
| | | process.setAssigneeName(work.getCreateBy()); |
| | | process.setAssigneeId(work.getCreateById()); |
| | | process.setNode(WorkNode.NODE_START.getCode()); |
| | | orderProcessService.addData(process); |
| | | |
| | | return BaseResp.success(); |
| | | } |
| | | |
| | | /** |
| | | * 根据当前节点获取下一个节点 |
| | | * @param curNode |
| | | * @param conf |
| | |
| | | |
| | | return WorkNode.NODE_END; |
| | | } |
| | | |
| | | /** |
| | | * 获取待处理工单 |
| | | * @return 处理结果 |
| | | */ |
| | | public BaseResp todoByProcess(WorkOrderProcess data) { |
| | | |
| | | log.info("-----工单处理-----{}", data); |
| | | //获取工单 |
| | | WorkOrder work = orderService.selectById(data.getOrderId()); |
| | | if (null == work) return BaseResp.error("当前工单已不存在"); |
| | | |
| | | String action = data.getAction(); |
| | | //通过操作 |
| | | if ("pass".equals(action)) { |
| | | |
| | | } |
| | | |
| | | //拒绝操作 |
| | | if ("refuse".equals(action)) { |
| | | |
| | | } |
| | | |
| | | return BaseResp.success(); |
| | | } |
| | | } |