package com.prolog.cs.biz.inbound.flow;

import com.prolog.function.annotation.Flow;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;


@Service
public class RqcAddWithRelatedFlow {

    @PostConstruct
    public void initFunctions() {

    }

    @Flow(name = "验收新增", category = "root/验收/级联新增", index = 12, description = "功能点:"
            + "\n1. 验收数据日志打印以及校验"
            + "\n2. 自动单据的处理"
            + "\n3. 保存验收头部数据以及头部相关数据"
            + "\n4. 验收明细数据校验以及初始化"
            + "\n5. 验收明细不同结论的处理"
            + "\n6. 持久化验收明细数据"
            + "\n7. 容器占用"
            + "\n8. 根据结论往下推送任务"
            + "\n8. 校验验收明细/验收单是否超收"
            + "\n9. 整单拒收回传"
            + "\n10. 自动打印单据处理")
    public void addWithRelated() {
        printLog();
        vaildateRqcHead();
        autoTaskInit();
        addHead();
        vaildateRqcDetails();
        rqcDetailsInit();
        rqcDetailsConclusionProcess();
        persistenceRqcDetails();
        containerOccupy();
        pushNextTask();
        vaildateRqcOverChange();
        allRejectCallBack();
        autoProcess();
        autoPrint();
        return;
    }

    @Flow(name = "打印日志", category = "root/验收/级联新增", index = 13, description = "")
    public void printLog() {
    }

    @Flow(name = "校验验收头部数据", category = "root/验收/级联新增", index = 14, description = "")
    public void vaildateRqcHead() {
    }

    @Flow(name = "自动任务数据初始化", category = "root/验收/级联新增", index = 14, description = "")
    public void autoTaskInit() {
    }

    @Flow(name = "持久化头单以及相关拓展数据", category = "root/验收/级联新增", index = 14, description = "")
    public void addHead() {
    }

    @Flow(name = "校验验收明细数据", category = "root/验收/级联新增", index = 15, description = "")
    public void vaildateRqcDetails() {
    }

    @Flow(name = "验收明细数据初始化", category = "root/验收/级联新增", index = 15, description = "")
    public void rqcDetailsInit() {
    }

    @Flow(name = "验收明细不同结论的处理", category = "root/验收/级联新增", index = 15, description = "")
    public void rqcDetailsConclusionProcess() {
    }

    @Flow(name = "持久化验收明细数据", category = "root/验收/级联新增", index = 15, description = "")
    public void persistenceRqcDetails() {
    }

    @Flow(name = "容器占用", category = "root/验收/级联新增", index = 15, description = "")
    public void containerOccupy() {
    }

    @Flow(name = "推送下一个节点任务", category = "root/验收/级联新增", index = 15, description = "")
    public void pushNextTask() {
    }

    @Flow(name = "校验验收单超收(相对收货单)", category = "root/验收/级联新增", index = 15, description = "")
    public void vaildateRqcOverChange() {
    }

    @Flow(name = "验收整单(收货单)拒收回传", category = "root/验收/级联新增", index = 15, description = "")
    public void allRejectCallBack() {
    }

    @Flow(name = "自动单据数据处理", category = "root/验收/级联新增", index = 15, description = "")
    public void autoProcess() {
    }

    @Flow(name = "数据自动打印", category = "root/验收/级联新增", index = 15, description = "")
    public void autoPrint() {
    }
}