From d6a553d71a775aca2d139a239f8b21f669e3d547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AD=A3=40=E7=94=A8=E5=8F=8B?= Date: Sat, 10 May 2025 13:42:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=BA=B8=E8=B4=A8=E5=8F=91=E7=A5=A8(?= =?UTF-8?q?=E6=95=B0=E7=94=B5=E7=BA=B8=E8=B4=A8=E5=8F=91=E7=A5=A8)=20?= =?UTF-8?q?=E6=9C=BA=E5=8A=A8=E8=BD=A6=E9=94=80=E5=94=AE=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=8F=91=E7=A5=A8(=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=9C=B0?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E8=A1=A5=E4=B8=81)=E9=80=82?= =?UTF-8?q?=E9=85=8D2312=5F20250510=5Fsdlizheng?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apply/einvoice/ApplyRequest.java | 151 +---- .../ivsale/util/InvoiceTransferUtil.java | 2 - .../nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java | 515 ++++++++++++------ .../material/MaterialManageMaterial.java | 4 +- 4 files changed, 352 insertions(+), 320 deletions(-) diff --git a/imag/src/private/nc/impl/imag/taxfactory/apply/einvoice/ApplyRequest.java b/imag/src/private/nc/impl/imag/taxfactory/apply/einvoice/ApplyRequest.java index 5b0e8cc..51d8e34 100644 --- a/imag/src/private/nc/impl/imag/taxfactory/apply/einvoice/ApplyRequest.java +++ b/imag/src/private/nc/impl/imag/taxfactory/apply/einvoice/ApplyRequest.java @@ -1,6 +1,5 @@ package nc.impl.imag.taxfactory.apply.einvoice; -import nc.bs.framework.common.NCLocator; import nc.dto.imag.boot.RequestInfo; import nc.dto.imag.invoice.PInvoice; import nc.dto.imag.invoice.PInvoiceCepz; @@ -12,12 +11,11 @@ import nc.imag.basefactory.router.Sm4Util; import nc.imag.common.util.IJsonUtil; import nc.impl.imag.taxfactory.einvoice.EInvoiceRequest; import nc.itf.imag.basefactory.IFactoryRequest; -import nc.itf.uap.cil.ICilService; -import nc.vo.imag.verify.InvoiceTypeEnum; import nc.vo.pub.BusinessException; import nc.vo.pub.BusinessRuntimeException; import nccloud.commons.collections.MapUtils; import ssc.mq.util.Logger; + import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; @@ -167,18 +165,6 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { a.setJEHJ(getUFDoubleValue(p.getJehj())); a.setCJH(p.getCjh()); a.setKQYSSSXBGGLBM(p.getKqysssxbgglbm()); - if(("31".equals(a.getFPLX()) || "32".equals(a.getFPLX())) && a.getTSPZ() != null){ - if (!check()){ - throw new BusinessRuntimeException("未购买发票统一入口授权!"); - } - } - //@特殊票种电子凭证@ end - //机动车专票特殊处理 - if(String.valueOf(InvoiceTypeEnum.JDCZYFP.getTypeCode()).equals(p.getFplx())){ - a.setFPLX(imagToEInvoice(String.valueOf(InvoiceTypeEnum.ZZSZYFP.getTypeCode()))); - a.setTSPZ("12"); - } - ApplyInvoiceDetail[] details = new ApplyInvoiceDetail[p.getItems().length]; for (int j = 0; j < details.length; j++) { @@ -210,18 +196,6 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { motor.setCQZSBH(psd.getCqzsbh()); motor.setJZFWFSD(psd.getJzfwfsd()); motor.setJZXMMC(psd.getJzxmmc()); -// **************************************2024-07-11 新增 (增加数电纸质发票(机动车销售统一发票)) - motor.setCD(psd.getCd()); - motor.setCJHM(psd.getCjhm()); - motor.setCLLX(psd.getCllx()); - motor.setCPXH(psd.getCpxh()); - motor.setSCQYMC(psd.getScqymc()); - motor.setXCRS(psd.getXcrs()); - - motor.setHGZH(psd.getHgzh()); - motor.setFDJHM(psd.getFdjhm()); - motor.setDUWEI(psd.getDunwei()); -// *********************************************************************** ad.setDetailMotor(motor); } details[j] = ad; @@ -308,16 +282,7 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { throw new BusinessRuntimeException(e.getMessage(),e); } } - private boolean check(){ - String code ="1" + "0" + "5" + "8" + "T" + "Y" + "R" + "K"; - ICilService service = NCLocator.getInstance().lookup(ICilService.class); - int licenseauth = service.getLicenseCount(code); - if (licenseauth <= 0 && !service.isNCDEMO()) { - return false; - } - return true; - } /** * 设置税务云回调信息 * @@ -537,13 +502,15 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { //车辆识别代码/车架号码 private String CJH; + //跨区域涉税事项报验管理编号 + private String KQYSSSXBGGLBM; + //货物运输 private ApplyInvoiceTspz[] tspzs; //差额开票 private ApplyInvoiceCepz[] cepzs; - //跨区域涉税事项报验管理编号 - private String KQYSSSXBGGLBM; + public String getZSFS() { return ZSFS; } @@ -1037,12 +1004,13 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { public void setCepzs(ApplyInvoiceCepz[] cepzs) { this.cepzs = cepzs; } + public String getKQYSSSXBGGLBM() { return KQYSSSXBGGLBM; } - public void setKQYSSSXBGGLBM(String kQYSSSXBGGLBM) { - KQYSSSXBGGLBM = kQYSSSXBGGLBM; + public void setKQYSSSXBGGLBM(String KQYSSSXBGGLBM) { + this.KQYSSSXBGGLBM = KQYSSSXBGGLBM; } } @@ -1364,109 +1332,6 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest { //建筑服务发生地 private String JZFWFSD; - // 产地 - private String CD; - - // 车架号码 - private String CJHM; - - // 车辆类型 - private String CLLX; - - // 产牌型号 - private String CPXH; - - // 生产企业名称 - private String SCQYMC; - - // 限乘人数 - private String XCRS; - - //合格证号 - private String HGZH; - - - //发动机号码 - private String FDJHM; - - - //吨位 - private String DUWEI; - - public String getHGZH() { - return HGZH; - } - - public void setHGZH(String HGZH) { - this.HGZH = HGZH; - } - - public String getFDJHM() { - return FDJHM; - } - - public void setFDJHM(String FDJHM) { - this.FDJHM = FDJHM; - } - - public String getDUWEI() { - return DUWEI; - } - - public void setDUWEI(String DUWEI) { - this.DUWEI = DUWEI; - } - - - - public String getCD() { - return CD; - } - - public void setCD(String CD) { - this.CD = CD; - } - - public String getCJHM() { - return CJHM; - } - - public void setCJHM(String CJHM) { - this.CJHM = CJHM; - } - - public String getCLLX() { - return CLLX; - } - - public void setCLLX(String CLLX) { - this.CLLX = CLLX; - } - - public String getCPXH() { - return CPXH; - } - - public void setCPXH(String CPXH) { - this.CPXH = CPXH; - } - - - public String getSCQYMC() { - return SCQYMC; - } - - public void setSCQYMC(String SCQYMC) { - this.SCQYMC = SCQYMC; - } - - public String getXCRS() { - return XCRS; - } - - public void setXCRS(String XCRS) { - this.XCRS = XCRS; - } public String getCQZSBH() { return CQZSBH; diff --git a/sscivm/src/public/nc/bs/sscivm/ivsale/util/InvoiceTransferUtil.java b/sscivm/src/public/nc/bs/sscivm/ivsale/util/InvoiceTransferUtil.java index e110011..7c8c00f 100644 --- a/sscivm/src/public/nc/bs/sscivm/ivsale/util/InvoiceTransferUtil.java +++ b/sscivm/src/public/nc/bs/sscivm/ivsale/util/InvoiceTransferUtil.java @@ -1461,8 +1461,6 @@ public class InvoiceTransferUtil { motor.setJzfwfsd(body.getJzfwfsd()); motor.setJzxmmc(body.getJzxmmc()); // **************************2024-07-10 新增 对应税务云,开票申请表体增加9个自定义项 - - if(!StringUtils.isEmpty(body.getDef24())) {//CD 产地 motor.setCd(body.getDef24()); } diff --git a/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java b/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java index a577570..6458b2a 100644 --- a/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java +++ b/sscivm/src/public/nc/vo/sscivm/ivmpub/InvoiceTypeEnum.java @@ -1,213 +1,380 @@ -// -// 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) { +/** + * 在此处简要描述此类的功能 + *

+ * 在此处添加此类的描述信息 + *

+ * 创建日期: + * @author + * @version NCPrj ?? + */ +public class InvoiceTypeEnum extends MDEnum{ + public InvoiceTypeEnum(IEnumValue enumvalue){ super(enumvalue); } + /** + * 增值税电子普通发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_DZPTFP= MDEnum.valueOf(InvoiceTypeEnum.class, "1"); - 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 final InvoiceTypeEnum INVOICETYPE_DZZYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "2"); + + + /** + * 增值税普通发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_PTFP= MDEnum.valueOf(InvoiceTypeEnum.class, "3"); + /** + * 增值税专用发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_ZYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "4"); + + /** + * 机动车统一发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_JDCTYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "5"); + /** + * 增值税电子普通发票(成品油) + */ + public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_CPY= MDEnum.valueOf(InvoiceTypeEnum.class, "8"); + /** + * 成品油普通发票(卷式) + */ + public static final InvoiceTypeEnum INVOICETYPE_CPYPTFP_JS= MDEnum.valueOf(InvoiceTypeEnum.class, "9"); + /** + * 成品油普通发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_CPYPTFP= MDEnum.valueOf(InvoiceTypeEnum.class, "10"); + /** + * 成品油专用发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_CPYZXFP= MDEnum.valueOf(InvoiceTypeEnum.class, "11"); + /** + * 增值税普通发票(卷式) + */ + public static final InvoiceTypeEnum INVOICETYPE_PTFP_JS= MDEnum.valueOf(InvoiceTypeEnum.class, "12"); + /** + * 通行费增值税电子普通发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_TXF= MDEnum.valueOf(InvoiceTypeEnum.class, "14"); + + /** + * 机打发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_JDFP= MDEnum.valueOf(InvoiceTypeEnum.class, "15"); + /** + * 火车票 + */ + public static final InvoiceTypeEnum INVOICETYPE_TRAIN= MDEnum.valueOf(InvoiceTypeEnum.class, "16"); + /** + * 航空客票 + */ + public static final InvoiceTypeEnum INVOICETYPE_AIR= MDEnum.valueOf(InvoiceTypeEnum.class, "17"); + /** + * 客运汽车票 + */ + public static final InvoiceTypeEnum INVOICETYPE_BUS= MDEnum.valueOf(InvoiceTypeEnum.class, "18"); + /** + * 出租车票 + */ + public static final InvoiceTypeEnum INVOICETYPE_TAXI= MDEnum.valueOf(InvoiceTypeEnum.class, "19"); + /** + * 过路费票 + */ + public static final InvoiceTypeEnum INVOICETYPE_ROADTOLL= MDEnum.valueOf(InvoiceTypeEnum.class, "20"); + /** + * 定额发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_TUOTA= MDEnum.valueOf(InvoiceTypeEnum.class, "21"); + /** + * 其他发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_OTHER= MDEnum.valueOf(InvoiceTypeEnum.class, "22"); + /** + * 数电票(增值税专用发票) + */ + public static final InvoiceTypeEnum DZFP_ZZSZYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "31"); + /** + * 数电票(普通发票) + */ + public static final InvoiceTypeEnum DZFP_PTFP= MDEnum.valueOf(InvoiceTypeEnum.class, "32"); + /** + * 数电纸质发票(增值税专用发票) + */ + public static final InvoiceTypeEnum ZZFP_ZZSZYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "33"); + public static final InvoiceTypeEnum ZZFP_SDFP = (InvoiceTypeEnum)MDEnum.valueOf(InvoiceTypeEnum.class, "36"); + + /** + * 数电纸质发票(普通发票) + */ + public static final InvoiceTypeEnum ZZFP_PTFP= MDEnum.valueOf(InvoiceTypeEnum.class, "34"); + /** + * 增值税专用发票(机动车) + */ + public static final InvoiceTypeEnum INVOICETYPE_ZYFP_JDC= MDEnum.valueOf(InvoiceTypeEnum.class, "99"); + /** + * 增值税电子普通发票(矿产类) + */ + public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_KCL= MDEnum.valueOf(InvoiceTypeEnum.class, "116"); + /** + * 增值税电子专用发票(矿产类) + */ + public static final InvoiceTypeEnum INVOICETYPE_DZZYFP_KCL= MDEnum.valueOf(InvoiceTypeEnum.class, "216"); + /** + * 增值税普通发票(矿产类) + */ + public static final InvoiceTypeEnum INVOICETYPE_PTFP_KCL= MDEnum.valueOf(InvoiceTypeEnum.class, "316"); + /** + * 增值税专用发票(矿产类) + */ + public static final InvoiceTypeEnum INVOICETYPE_ZYFP_KCL= MDEnum.valueOf(InvoiceTypeEnum.class, "416"); + + /** + * 二手车销售统一发票 + */ + public static final InvoiceTypeEnum INVOICETYPE_ESCTYFP= MDEnum.valueOf(InvoiceTypeEnum.class, "105"); + + /** + * 财政非税票据 + */ + public static final InvoiceTypeEnum INVOICETYPE_NOTAX_CZFSPJ= MDEnum.valueOf(InvoiceTypeEnum.class, "64"); + /** + * 医疗门诊票据 + */ + public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YLMZ= MDEnum.valueOf(InvoiceTypeEnum.class, "65"); + /** + * 医疗住院票据 + */ + public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YLZY= MDEnum.valueOf(InvoiceTypeEnum.class, "66"); + /** + * 非税收入一般缴款书 + */ + public static final InvoiceTypeEnum INVOICETYPE_NOTAX_YBJKS= MDEnum.valueOf(InvoiceTypeEnum.class, "67"); + /** + * 增值税电子普通发票(农产品) + */ + public static final InvoiceTypeEnum INVOICETYPE_DZPTFP_NCP= MDEnum.valueOf(InvoiceTypeEnum.class, "109"); + /** + * 增值税普通发票(农产品) + */ + public static final InvoiceTypeEnum INVOICETYPE_PTFP_NCP= MDEnum.valueOf(InvoiceTypeEnum.class, "309"); + + /** + * 判断是否是电子发票 + * @param value + * @return + */ + public static boolean isDzfp(String value){ + if ( + InvoiceTypeEnum.INVOICETYPE_DZPTFP.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZZYFP.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZPTFP_CPY.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZPTFP_TXF.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.DZFP_ZZSZYFP.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.DZFP_PTFP.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.getEnumValue().getValue().equals(value) + ||InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.getEnumValue().getValue().equals(value)){ + return true; + } + return false; } - 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 纸票集合 + */ + public static Set getPaperInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_JDCTYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ESCTYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP_JS.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYZXFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_JS.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_JDFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TRAIN.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_AIR.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_BUS.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TAXI.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ROADTOLL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TUOTA.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toIntValue()); + invoices.add(InvoiceTypeEnum.ZZFP_ZZSZYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.ZZFP_PTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.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 + */ + public static Set getBxTzInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_JDFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TRAIN.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_AIR.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_BUS.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TAXI.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ROADTOLL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_TUOTA.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_OTHER.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_CZFSPJ.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_YLZY.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_YLMZ.toIntValue()); + invoices.add(InvoiceTypeEnum.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 普通发票 + */ + public static Set getCommonInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_CPY.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_JS.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.DZFP_PTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.ZZFP_PTFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toIntValue()); + invoices.add(InvoiceTypeEnum.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 专用发票 + */ + public static Set getSpecialInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYZXFP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.DZFP_ZZSZYFP.toIntValue()); + invoices.add(InvoiceTypeEnum.ZZFP_ZZSZYFP.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 + */ + public static Set getKCLInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toIntValue()); + invoices.add(InvoiceTypeEnum.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 + */ + public static Set getNoTaxInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_CZFSPJ.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_YLMZ.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_NOTAX_YLZY.toIntValue()); + invoices.add(InvoiceTypeEnum.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 + */ + public static Set getVerifyInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_JDCTYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ESCTYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP_JS.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYZXFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_JS.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_CPY.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_TXF.toStringValue()); + invoices.add(InvoiceTypeEnum.DZFP_ZZSZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.DZFP_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.ZZFP_ZZSZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.ZZFP_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toStringValue()); + invoices.add(InvoiceTypeEnum.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 + */ + public static Set getRecInvoice(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP_JS.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYPTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_CPYZXFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_JS.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_CPY.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_TXF.toStringValue()); + invoices.add(InvoiceTypeEnum.DZFP_ZZSZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.DZFP_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.ZZFP_ZZSZYFP.toStringValue()); + invoices.add(InvoiceTypeEnum.ZZFP_PTFP.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toStringValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toStringValue()); + invoices.add(InvoiceTypeEnum.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 收购发票集合 + */ + public static Set getSGFP(){ + Set invoices = new HashSet(); + invoices.add(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toIntValue()); + invoices.add(InvoiceTypeEnum.INVOICETYPE_PTFP_NCP.toIntValue()); return invoices; } } diff --git a/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java b/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java index a4cc659..2ed2d0d 100644 --- a/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java +++ b/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java @@ -160,7 +160,9 @@ public class MaterialManageMaterial extends AbstractNCCRestResource { param.put("name", name.toArray(new String[0])); } if (marbaseclass != null && marbaseclass.size() > 0) { - param.put("marbaseclass", marbaseclass.toArray(new String[0])); +// param.put("marbaseclass", marbaseclass.toArray(new String[0])); + //数据库无此字段,修改成 + param.put("pk_marbasclass", marbaseclass.toArray(new String[0])); } try { ApiResourceParamUtils ApiResourceParamUtils = new ApiResourceParamUtils(); From f8cf8c9859c66d79f350d1008546b13ed375c129 Mon Sep 17 00:00:00 2001 From: maolei Date: Sat, 10 May 2025 13:53:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat(uapbd):=20=E6=B7=BB=E5=8A=A0openapi?= =?UTF-8?q?=E4=BB=93=E5=BA=93=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 娣诲姞鏌ヨ浠撳簱淇℃伅鐨 POST 鎺ュ彛 queryStordoc - 瀹炵幇鏍规嵁鏉′欢鏌ヨ浠撳簱淇℃伅骞跺垎椤佃繑鍥炵粨鏋 --- .gitignore | 3 + uapbd/META-INF/stordocManageResource.rest | 6 + .../storedoc/StordocManageResource.java | 252 ++++++++++++++++++ 3 files changed, 261 insertions(+) create mode 100644 uapbd/META-INF/stordocManageResource.rest create mode 100644 uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java diff --git a/.gitignore b/.gitignore index 6dcd014..c11d6f9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ /out/ /.idea/ /taikai2312.iml +.project +.classpath +.settings \ No newline at end of file diff --git a/uapbd/META-INF/stordocManageResource.rest b/uapbd/META-INF/stordocManageResource.rest new file mode 100644 index 0000000..e28a0b7 --- /dev/null +++ b/uapbd/META-INF/stordocManageResource.rest @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java b/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java new file mode 100644 index 0000000..bf366db --- /dev/null +++ b/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java @@ -0,0 +1,252 @@ +package nccloud.api.uapbd.stordocmanage.storedoc; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import nc.bs.dao.BaseDAO; +import nc.impl.pubapp.pattern.database.SqlBuilderUtil; +import nc.jdbc.framework.processor.ColumnListProcessor; +import nc.vo.bd.stordoc.StordocVO; +import nccloud.api.rest.utils.OpenApiPageInfo; +import nccloud.api.rest.utils.ResultMessageUtil; +import nccloud.api.uapbd.common.utils.OpenApiPagenationUtils; +import nccloud.commons.lang.StringUtils; +import nccloud.ws.rest.resource.AbstractNCCRestResource; +import org.json.JSONString; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import java.util.*; + +/** + * 仓库接口 + */ +@Path("uapbd/stordoc/stordoc") +public class StordocManageResource extends AbstractNCCRestResource { + + public static final BaseDAO BASE_DAO = new BaseDAO(); + + @Override + public String getModule() { + return "uapbd"; + } + + /** + * 手动构建SQL条件 + * + * @param paramMap 参数Map + * @return SQL条件字符串 + */ + private String buildCondition(Map paramMap) { + List conditions = new ArrayList<>(); + + // 处理code数组 - 使用IN条件 + if (paramMap.containsKey("code")) { + String[] codes = (String[]) paramMap.get("code"); + if (codes != null && codes.length > 0) { + StringBuilder codeCondition = new StringBuilder("code in ("); + for (int i = 0; i < codes.length; i++) { + if (i > 0) { + codeCondition.append(","); + } + codeCondition.append("'").append(escapeSql(codes[i])).append("'"); + } + codeCondition.append(")"); + conditions.add(codeCondition.toString()); + } + } + // 处理pk_group数组 - 使用IN条件 + if (paramMap.containsKey("pk_group")) { + String[] pk_groups = (String[]) paramMap.get("pk_group"); + if (pk_groups != null && pk_groups.length > 0) { + StringBuilder codeCondition = new StringBuilder("pk_group in ("); + for (int i = 0; i < pk_groups.length; i++) { + if (i > 0) { + codeCondition.append(","); + } + codeCondition.append("'").append(escapeSql(pk_groups[i])).append("'"); + } + codeCondition.append(")"); + conditions.add(codeCondition.toString()); + } + } + // 处理pk_org数组 - 使用IN条件 + if (paramMap.containsKey("pk_org")) { + String[] pk_orgs = (String[]) paramMap.get("pk_org"); + if (pk_orgs != null && pk_orgs.length > 0) { + StringBuilder codeCondition = new StringBuilder("pk_org in ("); + for (int i = 0; i < pk_orgs.length; i++) { + if (i > 0) { + codeCondition.append(","); + } + codeCondition.append("'").append(escapeSql(pk_orgs[i])).append("'"); + } + codeCondition.append(")"); + conditions.add(codeCondition.toString()); + } + } + + // 处理name数组 - 使IN条件 + if (paramMap.containsKey("name")) { + String[] names = (String[]) paramMap.get("name"); + if (names != null && names.length > 0) { + StringBuilder nameCondition = new StringBuilder("name in ("); + for (int i = 0; i < names.length; i++) { + if (i > 0) { + nameCondition.append(","); + } + nameCondition.append("'").append(escapeSql(names[i])).append("'"); + } + nameCondition.append(")"); + conditions.add(nameCondition.toString()); + } + } + + return conditions.isEmpty() ? "" : String.join(" and ", conditions); + } + + /** + * SQL注入防护 - 转义单引号 + * + * @param input 输入字符串 + * @return 转义后的字符串 + */ + private String escapeSql(String input) { + return input == null ? null : input.replace("'", "''"); + } + + /** + * 查询仓库信息 + * 示例: + * JSON输入示例: + * { + * "ufinterface": { + * "data": { + * "code": ["仓库code", "ST002"], + * "name": ["仓库name", "仓库B"], + * "org_code": ["ORG01", "ORG02"], + * "group_codes": ["GROUP001", "GROUP002"] + * }, + * "pageInfo": { + * "pageNo": 1, + * "pageSize": 10 + * } + * } + * } + * + * @param json 输入的JSON字符串 + * @return JSONString 包含查询结果或错误信息 + */ + @POST + @Path("queryStordoc") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString queryStordoc(JSONString json) { + JSONObject jObject = JSON.parseObject(json.toJSONString()); + if (jObject == null) { + return ResultMessageUtil.exceptionToJSON(new NullPointerException("请求JSON对象为null")); + } + JSONObject ufinterfaceObj = jObject.getJSONObject("ufinterface"); + if (ufinterfaceObj == null) { + return ResultMessageUtil.exceptionToJSON(new NullPointerException("ufinterface节点为null")); + } + JSONObject data = ufinterfaceObj.getJSONObject("data"); // 查询条件 + JSONObject pageInfoJson = ufinterfaceObj.getJSONObject("pageInfo"); // 分页信息 + if (data == null) { + data = new JSONObject(); + } + Map paramMap = new HashMap<>(); + JSONArray code_json = data.getJSONArray("code"); + JSONArray name_json = data.getJSONArray("name"); + JSONArray orgCodeArr = data.getJSONArray("org_code"); + JSONArray groupCodeArr = data.getJSONArray("group_codes"); + + // 处理数组类型的参数 + if (code_json != null && !code_json.isEmpty()) { + paramMap.put("code", code_json.toArray(new String[0])); + } + if (name_json != null && !name_json.isEmpty()) { + paramMap.put("name", name_json.toArray(new String[0])); + } + + try { + // 将 org_code 转换为主键保存到 paramMap + if (orgCodeArr != null && !orgCodeArr.isEmpty()) { + List pkOrgList = new ArrayList<>(); + StringBuilder cond = new StringBuilder("code in ("); + for (int i = 0; i < orgCodeArr.size(); i++) { + if (i > 0) { + cond.append(","); + } + cond.append("'").append(escapeSql(orgCodeArr.getString(i))).append("'"); + } + cond.append(")"); + Collection stockOrgs = BASE_DAO.retrieveByClause(nc.vo.org.StockOrgVO.class, cond.toString(), new String[]{"pk_stockorg"}); + if (stockOrgs != null) { + for (Object obj : stockOrgs) { + nc.vo.org.StockOrgVO vo = (nc.vo.org.StockOrgVO) obj; + pkOrgList.add(vo.getPk_stockorg()); + } + } + if (!pkOrgList.isEmpty()) { + paramMap.put("pk_org", pkOrgList.toArray(new String[0])); + } + } + + // 将 group_codes 转换为主键保存到 paramMap + if (groupCodeArr != null && !groupCodeArr.isEmpty()) { + List pkGroupList = new ArrayList<>(); + StringBuilder cond = new StringBuilder("code in ("); + for (int i = 0; i < groupCodeArr.size(); i++) { + if (i > 0) { + cond.append(","); + } + cond.append("'").append(escapeSql(groupCodeArr.getString(i))).append("'"); + } + cond.append(")"); + Collection groups = BASE_DAO.retrieveByClause(nc.vo.org.GroupVO.class, cond.toString(), new String[]{"pk_group"}); + if (groups != null) { + for (Object obj : groups) { + nc.vo.org.GroupVO vo = (nc.vo.org.GroupVO) obj; + pkGroupList.add(vo.getPk_group()); + } + } + if (!pkGroupList.isEmpty()) { + paramMap.put("pk_group", pkGroupList.toArray(new String[0])); + } + } + + // 使用自定义方法替代工具类 + String condition = buildCondition(paramMap); + if (StringUtils.isNotBlank(condition)) { + condition = "dr = 0 and " + condition; + } else { + condition = "dr=0"; + } + + String sql = "SELECT pk_stordoc FROM bd_stordoc WHERE " + condition; + List allPks = (List) BASE_DAO.executeQuery(sql, new ColumnListProcessor()); + OpenApiPageInfo openApiPageInfo = new OpenApiPageInfo(); + String[] currPks = OpenApiPagenationUtils.getCurrentPagePksAndPageInfo(allPks, pageInfoJson, openApiPageInfo); + + if (currPks == null || currPks.length == 0) { + return ResultMessageUtil.toJSONByPage(new StordocVO[0], openApiPageInfo, false); + } + + SqlBuilderUtil sqlBuilderUtil = new SqlBuilderUtil(); + String wherePartForRetrieve = sqlBuilderUtil.buildSQL("pk_stordoc", currPks, null); + + StordocVO[] vos = (StordocVO[]) BASE_DAO.retrieveByClause(StordocVO.class, wherePartForRetrieve) + .toArray(new StordocVO[0]); + + return ResultMessageUtil.toJSONByPage(vos, openApiPageInfo, false); + + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + +} From 756afff77eac927b31014db53131fc031672fb72 Mon Sep 17 00:00:00 2001 From: maolei Date: Mon, 12 May 2025 09:46:07 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat(api):=20=E4=BF=AE=E6=94=B9=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=88=86=E7=B1=BB=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=93=E5=BA=93=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20-=20=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3,?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=BC=A0=E5=85=A5code=E5=92=8Cname=E6=95=B0?= =?UTF-8?q?=E7=BB=84=20-=20=E4=BC=98=E5=8C=96=E5=AD=98=E5=82=A8=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD=20StordocManageRe?= =?UTF-8?q?source=20-=20=E6=9B=B4=E6=96=B0=20.gitignore=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=BF=BD=E7=95=A5=20.project=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20-=20=E4=BF=AE=E5=A4=8D=E7=89=A9=E6=96=99=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=B8=AD=E7=A9=BA=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=20SQL=20=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +- .../MaterialClassQueryResources.java | 68 +++++++++++++++++ .../material/MaterialManageMaterial.java | 26 ++++--- .../storedoc/StordocManageResource.java | 75 ++++++++++++++++--- 4 files changed, 151 insertions(+), 23 deletions(-) create mode 100644 uapbd/src/public/nccloud/api/uapbd/material/materialclass/MaterialClassQueryResources.java diff --git a/.gitignore b/.gitignore index c11d6f9..ab947f0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /out/ /.idea/ /taikai2312.iml -.project .classpath -.settings \ No newline at end of file +.settings +# 忽略任意目录下的 .project +**/.project \ No newline at end of file diff --git a/uapbd/src/public/nccloud/api/uapbd/material/materialclass/MaterialClassQueryResources.java b/uapbd/src/public/nccloud/api/uapbd/material/materialclass/MaterialClassQueryResources.java new file mode 100644 index 0000000..a6f8f49 --- /dev/null +++ b/uapbd/src/public/nccloud/api/uapbd/material/materialclass/MaterialClassQueryResources.java @@ -0,0 +1,68 @@ +package nccloud.api.uapbd.material.materialclass; + + +import nc.bs.framework.common.NCLocator; +import nc.itf.bd.material.marbasclass.IMaterialBasClassQueryService; +import nc.vo.bd.material.marbasclass.MarBasClassVO; +import nccloud.api.rest.utils.ApiResourceParamUtils; +import nccloud.api.rest.utils.IJsonForAPI; +import nccloud.api.rest.utils.JsonFactoryForAPI; +import nccloud.api.rest.utils.ResultMessageUtil; +import nccloud.api.rest.utils.vo.ApiDataVO; +import nccloud.api.rest.utils.vo.ApiQueryParam; +import nccloud.api.rest.utils.vo.PageInfo; +import nccloud.ws.rest.resource.AbstractNCCRestResource; +import org.json.JSONString; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import java.util.List; +import java.util.Map; + +@Path("/uapbd/materialclass") +public class MaterialClassQueryResources extends AbstractNCCRestResource { + + public String getModule() { + return "uapbd"; + } + + @POST + @Path("query") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString query(JSONString json) { + IJsonForAPI iJsonForAPI = JsonFactoryForAPI.create(); + ApiQueryParam apiQueryParam = (ApiQueryParam) iJsonForAPI.fromJson(json.toJSONString(), ApiQueryParam.class); + String sender = apiQueryParam.getUfinterface().getSender(); + ApiDataVO apiDataVO = apiQueryParam.getUfinterface().getData(); + PageInfo pageInfo = apiQueryParam.getUfinterface().getPageInfo(); + Map param = apiDataVO.getParamdata(); + if (param.containsKey("name") && param.get("name") != null) { + List names = (List) param.get("name"); + if (!names.isEmpty()) { + param.put("name", names.toArray(new String[0])); + } else { + param.remove("name"); + } + } + if (param.containsKey("code") && param.get("code") != null) { + List codes = (List) param.get("code"); + if (!codes.isEmpty()) { + param.put("code", codes.toArray(new String[0])); + } else { + param.remove("code"); + } + } + + try { + String querycondition = (new ApiResourceParamUtils()).parseParmToSqlByCode(new MarBasClassVO(), param); + MarBasClassVO[] vos = NCLocator.getInstance().lookup(IMaterialBasClassQueryService.class).queryMaterialClassByCondition(null, querycondition); + return vos != null && vos.length > 0 ? ResultMessageUtil.toJSON(vos) : null; + } catch (Exception ex) { + return ResultMessageUtil.exceptionToJSON(ex); + } + } + +} diff --git a/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java b/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java index 2ed2d0d..dbbdba9 100644 --- a/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java +++ b/uapbd/src/public/nccloud/api/uapbd/materialmanage/material/MaterialManageMaterial.java @@ -1,28 +1,22 @@ package nccloud.api.uapbd.materialmanage.material; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; import nc.bs.dao.BaseDAO; -import nc.ws.opm.pub.utils.result.APIErrCodeEnum; import nc.bs.dao.DAOException; import nc.bs.framework.common.NCLocator; import nc.bs.framework.core.util.ObjectCreator; import nc.impl.pubapp.pattern.database.SqlBuilderUtil; import nc.itf.bd.material.assign.IMaterialAssignService; import nc.jdbc.framework.processor.ColumnListProcessor; +import nc.jdbc.framework.processor.MapListProcessor; import nc.vo.bd.material.MaterialVO; import nc.vo.bd.material.prod.MaterialProdVO; import nc.vo.bd.material.sale.MaterialSaleVO; import nc.vo.bd.material.stock.MaterialStockVO; +import nc.ws.opm.pub.utils.result.APIErrCodeEnum; import nccloud.api.baseapp.exchange.convert.IOpenApiJsonConvertToExChangeXmlService; import nccloud.api.baseapp.exchange.convert.OpenApiConvertDataObject; import nccloud.api.baseapp.exchange.convert.OpenApiConvertDataResult; @@ -32,10 +26,18 @@ import nccloud.api.rest.utils.OpenApiPageInfo; import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.api.uapbd.common.utils.OpenApiPagenationUtils; import nccloud.commons.lang.StringUtils; -import nc.jdbc.framework.processor.MapListProcessor; import nccloud.ws.rest.resource.AbstractNCCRestResource; import org.json.JSONString; +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * 物料接口适配2312 */ @@ -171,6 +173,10 @@ public class MaterialManageMaterial extends AbstractNCCRestResource { ApiResourceParamUtils.addTranslatorMap("pk_org", IParamTranslator); String condition = ApiResourceParamUtils.parseParmToSqlByCode(new MaterialVO(), param); + if (condition.isBlank()) { + condition = "1=1";// 没有条件就拼接个1=1,防止sql报错 + } + String sql = "select pk_material from bd_material where " + condition; List allPks = (List) (new BaseDAO()).executeQuery(sql, new ColumnListProcessor()); OpenApiPageInfo openApiPageInfo = new OpenApiPageInfo(); diff --git a/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java b/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java index bf366db..a0715ed 100644 --- a/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java +++ b/uapbd/src/public/nccloud/api/uapbd/stordocmanage/storedoc/StordocManageResource.java @@ -5,9 +5,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import nc.bs.dao.BaseDAO; -import nc.impl.pubapp.pattern.database.SqlBuilderUtil; import nc.jdbc.framework.processor.ColumnListProcessor; -import nc.vo.bd.stordoc.StordocVO; +import nc.jdbc.framework.processor.MapListProcessor; import nccloud.api.rest.utils.OpenApiPageInfo; import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.api.uapbd.common.utils.OpenApiPagenationUtils; @@ -219,7 +218,6 @@ public class StordocManageResource extends AbstractNCCRestResource { } } - // 使用自定义方法替代工具类 String condition = buildCondition(paramMap); if (StringUtils.isNotBlank(condition)) { condition = "dr = 0 and " + condition; @@ -233,16 +231,71 @@ public class StordocManageResource extends AbstractNCCRestResource { String[] currPks = OpenApiPagenationUtils.getCurrentPagePksAndPageInfo(allPks, pageInfoJson, openApiPageInfo); if (currPks == null || currPks.length == 0) { - return ResultMessageUtil.toJSONByPage(new StordocVO[0], openApiPageInfo, false); + return ResultMessageUtil.toJSONByPage(new JSONObject[0], openApiPageInfo, false); + } + StringJoiner stringJoiner = new StringJoiner(","); + for (String pk : currPks) { + stringJoiner.add("'" + pk + "'"); + } + String pks = stringJoiner.toString(); + + String mainSql = "SELECT sd.*, " + + "so.code AS org_code, so.name AS org_name, " + + "og.code AS group_code, og.name AS group_name, " + + "ad.code AS address_code, ad.name AS address_name, " + + "ba.code AS storaddr_code " + + "FROM bd_stordoc sd " + + "LEFT JOIN org_stockorg so ON sd.pk_org = so.pk_stockorg " + + "LEFT JOIN org_group og ON sd.pk_group = og.pk_group " + + "LEFT JOIN bd_addressdoc ad ON sd.pk_address = ad.pk_addressdoc " + + "LEFT JOIN bd_address ba ON sd.storaddr = ba.pk_address " + + "WHERE sd.pk_stordoc IN (" + pks + ")"; + + @SuppressWarnings("unchecked") + List> rows = (List>) BASE_DAO.executeQuery(mainSql, new MapListProcessor()); + + List resultList = new ArrayList<>(); + for (Map row : rows) { + JSONObject stordocJson = new JSONObject(true); // 使用有序Map + + for (Map.Entry entry : row.entrySet()) { + String key = entry.getKey().toLowerCase(); + if ("org_code".equals(key) || "org_name".equals(key) || + "group_code".equals(key) || "group_name".equals(key) || + "address_code".equals(key) || "address_name".equals(key) || + "storaddr_code".equals(key)) { + continue; + } + stordocJson.put(entry.getKey(), entry.getValue()); + } + + JSONObject pkOrgDetailsJson = new JSONObject(true); + pkOrgDetailsJson.put("pk_org", row.get("pk_org")); + pkOrgDetailsJson.put("code", row.get("org_code")); + pkOrgDetailsJson.put("name", row.get("org_name")); + stordocJson.put("pk_org", pkOrgDetailsJson); + + JSONObject pkGroupDetailsJson = new JSONObject(true); + pkGroupDetailsJson.put("pk_group", row.get("pk_group")); + pkGroupDetailsJson.put("code", row.get("group_code")); + pkGroupDetailsJson.put("name", row.get("group_name")); + stordocJson.put("pk_group", pkGroupDetailsJson); + + JSONObject pkAddressDetailsJson = new JSONObject(true); + pkAddressDetailsJson.put("pk_address", row.get("pk_address")); + pkAddressDetailsJson.put("code", row.get("address_code")); + pkAddressDetailsJson.put("name", row.get("address_name")); + stordocJson.put("pk_address", pkAddressDetailsJson); + + JSONObject storaddrDetailsJson = new JSONObject(true); + storaddrDetailsJson.put("pk_address", row.get("storaddr")); + storaddrDetailsJson.put("code", row.get("storaddr_code")); + stordocJson.put("storaddr", storaddrDetailsJson); + + resultList.add(stordocJson); } - SqlBuilderUtil sqlBuilderUtil = new SqlBuilderUtil(); - String wherePartForRetrieve = sqlBuilderUtil.buildSQL("pk_stordoc", currPks, null); - - StordocVO[] vos = (StordocVO[]) BASE_DAO.retrieveByClause(StordocVO.class, wherePartForRetrieve) - .toArray(new StordocVO[0]); - - return ResultMessageUtil.toJSONByPage(vos, openApiPageInfo, false); + return ResultMessageUtil.toJSONByPage(resultList.toArray(new JSONObject[0]), openApiPageInfo, false); } catch (Exception e) { return ResultMessageUtil.exceptionToJSON(e); From db45890e10345fe692efc58e1bc2420645b406e0 Mon Sep 17 00:00:00 2001 From: maolei Date: Mon, 12 May 2025 11:12:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat(uapbd):=20=E6=B7=BB=E5=8A=A0=20QuerySy?= =?UTF-8?q?nc=20=E6=8E=A5=E5=8F=A3,=E7=94=A8=E6=9D=A5=E6=A0=B9=E6=8D=AEtyp?= =?UTF-8?q?e=E6=9D=A5=E8=B0=83=E7=94=A8=E4=B8=8D=E5=90=8C=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 鏂板 QuerySync 绫伙紝瀹炵幇 /uapbd/querySync 鏌ヨ鎺ュ彛 - 娣诲姞 query 鏂规硶澶勭悊 JSON 璇锋眰锛屾敮鎸佷笉鍚岀殑鏌ヨ绫诲瀷 --- uapbd/META-INF/querySync.rest | 6 ++ .../public/nccloud/api/uapbd/QuerySync.java | 59 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 uapbd/META-INF/querySync.rest create mode 100644 uapbd/src/public/nccloud/api/uapbd/QuerySync.java diff --git a/uapbd/META-INF/querySync.rest b/uapbd/META-INF/querySync.rest new file mode 100644 index 0000000..558ec97 --- /dev/null +++ b/uapbd/META-INF/querySync.rest @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/uapbd/src/public/nccloud/api/uapbd/QuerySync.java b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java new file mode 100644 index 0000000..43cff15 --- /dev/null +++ b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java @@ -0,0 +1,59 @@ +package nccloud.api.uapbd; + + +import nccloud.api.rest.utils.IJsonForAPI; +import nccloud.api.rest.utils.JsonFactoryForAPI; +import nccloud.api.rest.utils.ResultMessageUtil; +import nccloud.api.rest.utils.vo.ApiDataVO; +import nccloud.api.rest.utils.vo.ApiQueryParam; +import nccloud.api.rest.utils.vo.ApiUfinterface; +import nccloud.ws.rest.resource.AbstractNCCRestResource; +import org.json.JSONString; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; + +@Path("/uapbd/querySync") +public class QuerySync extends AbstractNCCRestResource { + + @Override + public String getModule() { + return "uapbd"; + } + + @POST + @Path("query") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString query(JSONString json) { + IJsonForAPI iJsonForAPI = JsonFactoryForAPI.create(); + ApiQueryParam apiQueryParam = iJsonForAPI.fromJson(json.toJSONString(), ApiQueryParam.class); + ApiDataVO apiDataVO = apiQueryParam.getUfinterface().getData(); + // 从中抓取接口枚举类型 + ApiUfinterface ufinterface = apiQueryParam.getUfinterface(); + if (ufinterface.getData().getParamdata().containsKey("type")) { + String type = (String) ufinterface.getData().getParamdata().get("type"); + try { + switch (type) { + case "queryStordoc": + return queryStordoc(ufinterface); + default: + return ResultMessageUtil.exceptionToJSON(new Exception("不支持的接口类型: " + type)); + } + } catch (Exception e) { + // 捕获并返回异常信息 + return ResultMessageUtil.exceptionToJSON(e); + } + } else { + return ResultMessageUtil.exceptionToJSON(new Exception("缺失接口类型,请检查参数")); + } + } + + private JSONString queryStordoc(ApiUfinterface apiUfinterface) { + + return null; + } + +} \ No newline at end of file