diff --git a/sscivm/METADATA/sscivm_invoice.bmf b/sscivm/METADATA/sscivm_invoice.bmf
new file mode 100644
index 0000000..b5eae0e
--- /dev/null
+++ b/sscivm/METADATA/sscivm_invoice.bmf
@@ -0,0 +1,391 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2b226ae1-aad9-4abe-a405-36bcacaa94a8
+ 60bdf1fb-95e3-43dc-8feb-f874de9293eb
+ 1265ec85-b87b-4158-8851-0fb0e85526ee
+ 5205ef20-5eae-4c75-bad8-16639152e622
+ 6c8722b9-911a-489b-8d0d-18bd3734fcf6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java b/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java
new file mode 100644
index 0000000..a577570
--- /dev/null
+++ b/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java
@@ -0,0 +1,213 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package nc.vo.sscivm.ivmpub;
+
+import java.util.HashSet;
+import java.util.Set;
+import nc.md.model.IEnumValue;
+import nc.md.model.impl.MDEnum;
+
+public class InvoiceTypeEnum extends MDEnum {
+ public static final InvoiceTypeEnum INVOICETYPE_DZPTFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "1");
+ public static final InvoiceTypeEnum INVOICETYPE_DZZYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "2");
+ public static final InvoiceTypeEnum INVOICETYPE_PTFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "3");
+ public static final InvoiceTypeEnum INVOICETYPE_ZYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "4");
+ public static final InvoiceTypeEnum INVOICETYPE_JDCTYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "5");
+ public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_CPY = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "8");
+ public static final InvoiceTypeEnum INVOICETYPE_CPYPTFP_JS = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "9");
+ public static final InvoiceTypeEnum INVOICETYPE_CPYPTFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "10");
+ public static final InvoiceTypeEnum INVOICETYPE_CPYZXFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "11");
+ public static final InvoiceTypeEnum INVOICETYPE_PTFP_JS = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "12");
+ public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_TXF = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "14");
+ public static final InvoiceTypeEnum INVOICETYPE_JDFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "15");
+ public static final InvoiceTypeEnum INVOICETYPE_TRAIN = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "16");
+ public static final InvoiceTypeEnum INVOICETYPE_AIR = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "17");
+ public static final InvoiceTypeEnum INVOICETYPE_BUS = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "18");
+ public static final InvoiceTypeEnum INVOICETYPE_TAXI = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "19");
+ public static final InvoiceTypeEnum INVOICETYPE_ROADTOLL = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "20");
+ public static final InvoiceTypeEnum INVOICETYPE_TUOTA = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "21");
+ public static final InvoiceTypeEnum INVOICETYPE_OTHER = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "22");
+ public static final InvoiceTypeEnum DZFP_ZZSZYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "31");
+ public static final InvoiceTypeEnum DZFP_PTFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "32");
+ public static final InvoiceTypeEnum ZZFP_ZZSZYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "33");
+ public static final InvoiceTypeEnum ZZFP_JDCXSTYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "36");
+ public static final InvoiceTypeEnum ZZFP_PTFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "34");
+ public static final InvoiceTypeEnum INVOICETYPE_ZYFP_JDC = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "99");
+ public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_KCL = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "116");
+ public static final InvoiceTypeEnum INVOICETYPE_DZZYFP_KCL = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "216");
+ public static final InvoiceTypeEnum INVOICETYPE_PTFP_KCL = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "316");
+ public static final InvoiceTypeEnum INVOICETYPE_ZYFP_KCL = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "416");
+ public static final InvoiceTypeEnum INVOICETYPE_ESCTYFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "105");
+ public static final InvoiceTypeEnum INVOICETYPE_NOTAX_CZFSPJ = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "64");
+ public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YLMZ = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "65");
+ public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YLZY = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "66");
+ public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YBJKS = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "67");
+ public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_NCP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "109");
+ public static final InvoiceTypeEnum INVOICETYPE_PTFP_NCP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "309");
+
+ public InvoiceTypeEnum(IEnumValue enumvalue) {
+ super(enumvalue);
+ }
+
+ public static boolean isDzfp(String value) {
+ return INVOICETYPE_DZPTFP.getEnumValue().getValue().equals(value) || INVOICETYPE_DZZYFP.getEnumValue().getValue().equals(value) || INVOICETYPE_DZPTFP_CPY.getEnumValue().getValue().equals(value) || INVOICETYPE_DZPTFP_TXF.getEnumValue().getValue().equals(value) || DZFP_ZZSZYFP.getEnumValue().getValue().equals(value) || DZFP_PTFP.getEnumValue().getValue().equals(value) || INVOICETYPE_DZPTFP_KCL.getEnumValue().getValue().equals(value) || INVOICETYPE_DZZYFP_KCL.getEnumValue().getValue().equals(value) || INVOICETYPE_DZPTFP_NCP.getEnumValue().getValue().equals(value);
+ }
+
+ public static Set getPaperInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_PTFP.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP.toIntValue());
+ invoices.add(INVOICETYPE_JDCTYFP.toIntValue());
+ invoices.add(INVOICETYPE_ESCTYFP.toIntValue());
+ invoices.add(INVOICETYPE_CPYPTFP_JS.toIntValue());
+ invoices.add(INVOICETYPE_CPYPTFP.toIntValue());
+ invoices.add(INVOICETYPE_CPYZXFP.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_JS.toIntValue());
+ invoices.add(INVOICETYPE_JDFP.toIntValue());
+ invoices.add(INVOICETYPE_TRAIN.toIntValue());
+ invoices.add(INVOICETYPE_AIR.toIntValue());
+ invoices.add(INVOICETYPE_BUS.toIntValue());
+ invoices.add(INVOICETYPE_TAXI.toIntValue());
+ invoices.add(INVOICETYPE_ROADTOLL.toIntValue());
+ invoices.add(INVOICETYPE_TUOTA.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP_JDC.toIntValue());
+ invoices.add(ZZFP_ZZSZYFP.toIntValue());
+ invoices.add(ZZFP_JDCXSTYFP.toIntValue());
+ invoices.add(ZZFP_PTFP.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_NCP.toIntValue());
+ return invoices;
+ }
+
+ public static Set getBxTzInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_JDFP.toIntValue());
+ invoices.add(INVOICETYPE_TRAIN.toIntValue());
+ invoices.add(INVOICETYPE_AIR.toIntValue());
+ invoices.add(INVOICETYPE_BUS.toIntValue());
+ invoices.add(INVOICETYPE_TAXI.toIntValue());
+ invoices.add(INVOICETYPE_ROADTOLL.toIntValue());
+ invoices.add(INVOICETYPE_TUOTA.toIntValue());
+ invoices.add(INVOICETYPE_OTHER.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_CZFSPJ.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YLZY.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YLMZ.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YBJKS.toIntValue());
+ return invoices;
+ }
+
+ public static Set getCommonInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZPTFP.toIntValue());
+ invoices.add(INVOICETYPE_PTFP.toIntValue());
+ invoices.add(INVOICETYPE_DZPTFP_CPY.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_JS.toIntValue());
+ invoices.add(INVOICETYPE_CPYPTFP.toIntValue());
+ invoices.add(DZFP_PTFP.toIntValue());
+ invoices.add(ZZFP_PTFP.toIntValue());
+ invoices.add(INVOICETYPE_DZPTFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_DZPTFP_NCP.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_NCP.toIntValue());
+ return invoices;
+ }
+
+ public static Set getSpecialInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZZYFP.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP.toIntValue());
+ invoices.add(INVOICETYPE_CPYZXFP.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP_JDC.toIntValue());
+ invoices.add(INVOICETYPE_DZZYFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP_KCL.toIntValue());
+ invoices.add(DZFP_ZZSZYFP.toIntValue());
+ invoices.add(ZZFP_ZZSZYFP.toIntValue());
+ invoices.add(ZZFP_JDCXSTYFP.toIntValue());
+ return invoices;
+ }
+
+ public static Set getKCLInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZPTFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_DZZYFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_KCL.toIntValue());
+ invoices.add(INVOICETYPE_ZYFP_KCL.toIntValue());
+ return invoices;
+ }
+
+ public static Set getNoTaxInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_NOTAX_CZFSPJ.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YLMZ.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YLZY.toIntValue());
+ invoices.add(INVOICETYPE_NOTAX_YBJKS.toIntValue());
+ return invoices;
+ }
+
+ public static Set getVerifyInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZPTFP.toStringValue());
+ invoices.add(INVOICETYPE_DZZYFP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP.toStringValue());
+ invoices.add(INVOICETYPE_JDCTYFP.toStringValue());
+ invoices.add(INVOICETYPE_ESCTYFP.toStringValue());
+ invoices.add(INVOICETYPE_CPYPTFP_JS.toStringValue());
+ invoices.add(INVOICETYPE_CPYPTFP.toStringValue());
+ invoices.add(INVOICETYPE_CPYZXFP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_JS.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_CPY.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_TXF.toStringValue());
+ invoices.add(DZFP_ZZSZYFP.toStringValue());
+ invoices.add(DZFP_PTFP.toStringValue());
+ invoices.add(ZZFP_ZZSZYFP.toStringValue());
+ invoices.add(ZZFP_JDCXSTYFP.toStringValue());
+ invoices.add(ZZFP_PTFP.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP_JDC.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_DZZYFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_NCP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_NCP.toStringValue());
+ return invoices;
+ }
+
+ public static Set getRecInvoice() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZPTFP.toStringValue());
+ invoices.add(INVOICETYPE_DZZYFP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP.toStringValue());
+ invoices.add(INVOICETYPE_CPYPTFP_JS.toStringValue());
+ invoices.add(INVOICETYPE_CPYPTFP.toStringValue());
+ invoices.add(INVOICETYPE_CPYZXFP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_JS.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_CPY.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_TXF.toStringValue());
+ invoices.add(DZFP_ZZSZYFP.toStringValue());
+ invoices.add(DZFP_PTFP.toStringValue());
+ invoices.add(ZZFP_ZZSZYFP.toStringValue());
+ invoices.add(ZZFP_JDCXSTYFP.toStringValue());
+ invoices.add(ZZFP_PTFP.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP_JDC.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_DZZYFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_ZYFP_KCL.toStringValue());
+ invoices.add(INVOICETYPE_DZPTFP_NCP.toStringValue());
+ invoices.add(INVOICETYPE_PTFP_NCP.toStringValue());
+ return invoices;
+ }
+
+ public static Set getSGFP() {
+ Set invoices = new HashSet();
+ invoices.add(INVOICETYPE_DZPTFP_NCP.toIntValue());
+ invoices.add(INVOICETYPE_PTFP_NCP.toIntValue());
+ return invoices;
+ }
+}