ocr增加dzfpupload和dzfpdelete接口
This commit is contained in:
		
							parent
							
								
									97fbd9759c
								
							
						
					
					
						commit
						2e2f06a2b4
					
				|  | @ -0,0 +1,694 @@ | ||||||
|  | package nccloud.openapi.imag.invoice.tax; | ||||||
|  | 
 | ||||||
|  | import javax.ws.rs.Consumes; | ||||||
|  | import javax.ws.rs.POST; | ||||||
|  | import javax.ws.rs.Path; | ||||||
|  | import javax.ws.rs.Produces; | ||||||
|  | 
 | ||||||
|  | import nc.bs.framework.common.NCLocator; | ||||||
|  | import nc.dto.imag.boot.RequestInfo; | ||||||
|  | import nc.dto.imag.boot.ResponseInfo; | ||||||
|  | import nc.dto.imag.invoice.accountentry.AccountEntryCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.accountentry.AccountEntryCommonResponse; | ||||||
|  | import nc.dto.imag.invoice.reimbursed.ReimbursedCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.reimbursed.ReimbursedCommonResponse; | ||||||
|  | import nc.dto.imag.invoice.tax.AllInvoiceDeleteCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.tax.EInvoiceCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.tax.EInvoiceCommonResponse; | ||||||
|  | import nc.dto.imag.invoice.tax.InvalidCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.tax.InvalidCommonResponse; | ||||||
|  | import nc.dto.imag.invoice.tax.TaxAllInvoiceRequest; | ||||||
|  | import nc.dto.imag.invoice.tax.TaxCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.tax.TaxCommonResponse; | ||||||
|  | import nc.dto.imag.invoice.view.PreviewCommonRequest; | ||||||
|  | import nc.dto.imag.invoice.view.PreviewCommonResponse; | ||||||
|  | import nc.itf.openapi.invoice.tax.IEInvoiceService; | ||||||
|  | import nc.itf.openapi.invoice.tax.ITaxInvoiceService; | ||||||
|  | import nc.itf.uap.IUAPQueryBS; | ||||||
|  | import nc.vo.image.log.ImageLogBusiTypeEnum; | ||||||
|  | import nc.vo.image.log.ImageLogUtil; | ||||||
|  | import nccloud.api.rest.utils.NCCRestUtils; | ||||||
|  | import nccloud.openapi.imag.ImageOpenApiResources; | ||||||
|  | import nccloud.openapi.imag.service.ImagOpenApiServiceLocator; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.Map; | ||||||
|  | import nc.dto.imag.invoice.tax.InvoiceDeleteCommonRequest; | ||||||
|  | import nc.itf.sscivm.service.IInvoiceUploadService; | ||||||
|  | import nc.itf.sscivm.service.IVMInvoiceQueryService; | ||||||
|  | import nc.jdbc.framework.processor.ColumnProcessor; | ||||||
|  | import nc.vo.pub.BusinessException; | ||||||
|  | import nc.vo.sscivm.invoice.IVMInvoiceAggVO; | ||||||
|  | import nccloud.api.rest.utils.ResultMessageUtil; | ||||||
|  | import nccloud.commons.lang.StringUtils; | ||||||
|  | import nccloud.itf.sscivm.ivrec.service.IVRecService; | ||||||
|  | import org.json.JSONString; | ||||||
|  | 
 | ||||||
|  | import com.alibaba.fastjson.JSON; | ||||||
|  | import com.alibaba.fastjson.JSONArray; | ||||||
|  | import com.alibaba.fastjson.JSONObject; | ||||||
|  | import com.fasterxml.jackson.core.JsonProcessingException; | ||||||
|  | import com.fasterxml.jackson.databind.ObjectMapper; | ||||||
|  | import org.json.JSONString; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * openapi 影像税务服务 | ||||||
|  |  *  | ||||||
|  |  * @author gaozhf@yonyou.com | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
|  | @Path("imag/invoice/tax") | ||||||
|  | public class InvoiceTaxResources extends ImageOpenApiResources { | ||||||
|  | 	@SuppressWarnings("unchecked") | ||||||
|  | 	@POST | ||||||
|  | 	@Path("uploadeinvoice") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString uploadEInvoice(RequestInfo<EInvoiceCommonRequest> request) { | ||||||
|  | 		ResponseInfo<EInvoiceCommonResponse> response = new ResponseInfo<EInvoiceCommonResponse>(); | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(IEInvoiceService.class).uploadEInvoice(request); | ||||||
|  | 			 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			response = (ResponseInfo<EInvoiceCommonResponse>) parseErrorMessage(e); | ||||||
|  | 		} finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.UPLOAD_EINVOICE, request, response); | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		return NCCRestUtils.toJSONString(response); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	@SuppressWarnings("unchecked") | ||||||
|  | 	@POST | ||||||
|  | 	@Path("deleteeinvoice") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString deleteEInvoice(RequestInfo<EInvoiceCommonRequest> request) { | ||||||
|  | 		ResponseInfo<EInvoiceCommonResponse> response = new ResponseInfo<EInvoiceCommonResponse>(); | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(IEInvoiceService.class).deleteEInvoice(request); | ||||||
|  | 			 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			response = (ResponseInfo<EInvoiceCommonResponse>) parseErrorMessage(e); | ||||||
|  | 			 | ||||||
|  | 		} finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.DELETE_EINVOICE, request, response); | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		return NCCRestUtils.toJSONString(response); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * 发票全票面上传入口(新) | ||||||
|  | 	 * @param request | ||||||
|  | 	 * @return | ||||||
|  | 	 */ | ||||||
|  | 	@POST | ||||||
|  | 	@Path("upload_allinvoice") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doUploadForAllInvoice(RequestInfo<TaxAllInvoiceRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 		Object result = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			 | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doUploadForAllInvoice(request, true); | ||||||
|  | 			 | ||||||
|  | 			result = buildSucessResponseInfo(response); | ||||||
|  | 
 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			result = parseErrorMessage(e); | ||||||
|  | 		}finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.SAVE_ALLINVOICE, request, result); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(result); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * 增值税发票上传入口(旧) | ||||||
|  | 	 * @param request | ||||||
|  | 	 * @return | ||||||
|  | 	 */ | ||||||
|  | 	@POST | ||||||
|  | 	@Path("upload") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doUpload(RequestInfo<TaxCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 		Object result = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			 | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doUploadForVATInvoice(request, true); | ||||||
|  | 			 | ||||||
|  | 			result = buildSucessResponseInfo(response); | ||||||
|  | 
 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			result = parseErrorMessage(e); | ||||||
|  | 		}finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.SAVE, request, result); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(result); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("uploadtotax") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doUploadToTax(RequestInfo<TaxCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doUploadToTax(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * 全票面发票删除入口 | ||||||
|  | 	 * @param request | ||||||
|  | 	 * @return | ||||||
|  | 	 */ | ||||||
|  | 	@POST | ||||||
|  | 	@Path("delete_allinvoice") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doDeleteForAllInvoice(RequestInfo<TaxAllInvoiceRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 		Object result = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doDeleteForAllInvoice(request); | ||||||
|  | 			 | ||||||
|  | 			result = buildSucessResponseInfo(response); | ||||||
|  | 			 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			result = parseErrorMessage(e); | ||||||
|  | 		}finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.FACTORY_DELETE_IMAGE_ALLINVOICE, request, result); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(result); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * 全票面发票删除入口(旧) | ||||||
|  | 	 * @param request | ||||||
|  | 	 * @return | ||||||
|  | 	 */ | ||||||
|  | 	@POST | ||||||
|  | 	@Path("delete") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doDelete(RequestInfo<TaxCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 		Object result = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doDeleteForVATInvoice(request); | ||||||
|  | 			 | ||||||
|  | 			result = buildSucessResponseInfo(response); | ||||||
|  | 			 | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertErrorLog(e); | ||||||
|  | 			 | ||||||
|  | 			result = parseErrorMessage(e); | ||||||
|  | 		}finally{ | ||||||
|  | 			// 日志落库 | ||||||
|  | 			ImageLogUtil.insertMainLog(ImageLogBusiTypeEnum.FACTORY_DELETE_IMAGE, request, result); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(result); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("deletetotax") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doDeleteToTax(RequestInfo<AllInvoiceDeleteCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<TaxCommonResponse[]> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doDeleteToTax(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("reimbursed") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doReimbursed(RequestInfo<ReimbursedCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<ReimbursedCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doReimbursed(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("unreimbursed") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doUnReimbursed(RequestInfo<ReimbursedCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<ReimbursedCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doUnReimbursed(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("accountentry") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doAccountEntry(RequestInfo<AccountEntryCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<AccountEntryCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doAccountEntry(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("cancelaccountentry") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doCancelAccountEntry(RequestInfo<AccountEntryCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<AccountEntryCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doCancelAccountEntry(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("preview") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doPreview(RequestInfo<PreviewCommonRequest[]> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<PreviewCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).doPreview(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("invalid") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doInvalid(RequestInfo<InvalidCommonRequest> request) { | ||||||
|  | 
 | ||||||
|  | 		ResponseInfo<InvalidCommonResponse> response = null; | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			response = ImagOpenApiServiceLocator.find(ITaxInvoiceService.class).invoiceInvalid(request); | ||||||
|  | 		} catch (Exception e) { | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return NCCRestUtils.toJSONString(buildSucessResponseInfo(response)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("dzfpupload") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doDzfpUpload(JSONString json) { | ||||||
|  | 		ObjectMapper objectMapper = new ObjectMapper(); | ||||||
|  | 		Map<String, Object> res = new HashMap<String, Object>(); | ||||||
|  | 
 | ||||||
|  | 		res.put("code", "0000"); | ||||||
|  | 		try { | ||||||
|  | 			JSONObject jObject = JSON.parseObject(json.toJSONString()); | ||||||
|  | 			if (jObject == null) { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				res.put("message", "JSONString is null "); | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(res); | ||||||
|  | 			} | ||||||
|  | 			String pk_org = jObject.getString("pk_org");// 财务组织主键 | ||||||
|  | 			if (StringUtils.isBlank(pk_org)) { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				res.put("message", "财务组织主键(pk_org)不能为空 "); | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(res); | ||||||
|  | 			} | ||||||
|  | 	 | ||||||
|  | 			String pk_bill = jObject.getString("billid");// 单据主键 | ||||||
|  | 			if (StringUtils.isBlank(pk_bill)) { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				res.put("message", "单据主键(billid)不能为空 "); | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(res); | ||||||
|  | 			} | ||||||
|  | 	 | ||||||
|  | 			String billtype = jObject.getString("billtype");// 单据类型编码 | ||||||
|  | 			if (StringUtils.isBlank(billtype)) { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				res.put("message", "单据类型编码(billtype)不能为空 "); | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(res); | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			String transitype = jObject.getString("transitype");// 交易类型编码 | ||||||
|  | 			  | ||||||
|  | 			if (StringUtils.isBlank(transitype)) { | ||||||
|  | 				transitype=getTradeTypeCode(billtype,pk_bill); | ||||||
|  | 			} | ||||||
|  | //			String tradetype=getTradeTypeCode(billtype,pk_bill); | ||||||
|  | 		 | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 			JSONArray jsrr= jObject.getJSONArray("data"); | ||||||
|  | 			if(jsrr.isEmpty()) { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				res.put("message", "电子发票源文件(file)不能为空"); | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(res); | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			int i_true=0; | ||||||
|  | 			 | ||||||
|  | 			ArrayList<Map<String, Object>> l_true=new ArrayList<>(); | ||||||
|  | 			ArrayList<Map<String, Object>> l_false=new ArrayList<>(); | ||||||
|  | 			for (int i = 0; i < jsrr.size(); i++) { | ||||||
|  | 				 | ||||||
|  | 				JSONObject nodeinsTodo = jsrr.getJSONObject(i); | ||||||
|  | 				 | ||||||
|  | 				String fileContent = nodeinsTodo.getString("file");// 电子发票源文件 | ||||||
|  | 				if (StringUtils.isBlank(fileContent)) { | ||||||
|  | 					res.put("success", false); | ||||||
|  | 					res.put("message", "电子发票源文件(file)不能为空"); | ||||||
|  | 					 | ||||||
|  | 					 | ||||||
|  | 					 | ||||||
|  | 					return NCCRestUtils.toJSONString(res); | ||||||
|  | 				} | ||||||
|  | 		 | ||||||
|  | 				String filename = nodeinsTodo.getString("filename");// 文件名称 | ||||||
|  | 				if (filename == null) { | ||||||
|  | 					filename = pk_bill+String.valueOf(i+1); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | 				Map<String, Object>  result = NCLocator.getInstance().lookup(IInvoiceUploadService.class).upload(pk_org, pk_bill, billtype,transitype, filename, fileContent); | ||||||
|  | 
 | ||||||
|  | 				 | ||||||
|  | 				if (result.get("success") == null||(boolean) result.get("success")) { | ||||||
|  | 					res.put("success", true); | ||||||
|  | 					i_true++; | ||||||
|  | 					l_true.add((Map<String, Object>) result.get("data")); | ||||||
|  | 				}else { | ||||||
|  | 					 | ||||||
|  | 					Map<String, Object> f_map =( Map<String, Object>) result.get("data"); | ||||||
|  | 					f_map.put("message", result.get("message")); | ||||||
|  | 					 | ||||||
|  | 					 | ||||||
|  | 					l_false.add(f_map); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | //				String add_json = objectMapper.writeValueAsString(result); | ||||||
|  | 				 | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			if(i_true== jsrr.size()) { | ||||||
|  | 				res.put("code", "0000"); | ||||||
|  | 				res.put("message", "请求成功"); | ||||||
|  | 				res.put("success", true); | ||||||
|  | 				if(!l_true.isEmpty()) { | ||||||
|  | 					res.put("tdata", l_true); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 			}else { | ||||||
|  | 				res.put("success", false); | ||||||
|  | 				if(i_true==0) { | ||||||
|  | 					res.put("message", "上传失败"); | ||||||
|  | 				}else { | ||||||
|  | 					res.put("message", "部分成功"); | ||||||
|  | 				} | ||||||
|  | //				result.put("message", "部分成功"); | ||||||
|  | 				if(!l_true.isEmpty()) { | ||||||
|  | 					res.put("tdata", l_true); | ||||||
|  | 				} | ||||||
|  | 				if(!l_false.isEmpty()) { | ||||||
|  | 					res.put("fdata", l_false); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | //			String fileContent = jObject.getString("file");// 电子发票源文件 | ||||||
|  | //			if (StringUtils.isBlank(fileContent)) { | ||||||
|  | //				result.put("success", false); | ||||||
|  | //				result.put("message", "电子发票源文件(file)不能为空"); | ||||||
|  | //				return NCCRestUtils.toJSONString(result); | ||||||
|  | //			} | ||||||
|  | //	 | ||||||
|  | //			String filename = jObject.getString("filename");// 文件名称 | ||||||
|  | //			if (filename == null) { | ||||||
|  | //				filename = pk_bill; | ||||||
|  | //			} | ||||||
|  | //			 | ||||||
|  | //			 | ||||||
|  | //	 | ||||||
|  | //			 | ||||||
|  | // | ||||||
|  | //			result = NCLocator.getInstance().lookup(IInvoiceUploadService.class).upload(pk_org, pk_bill, billtype,tradetype, filename, fileContent); | ||||||
|  | // | ||||||
|  | //	 | ||||||
|  | //			if (result.get("success") == null) { | ||||||
|  | //				result.put("success", true); | ||||||
|  | //			} | ||||||
|  | // | ||||||
|  | 			String add_json = objectMapper.writeValueAsString(res); | ||||||
|  | 			 | ||||||
|  | 		 | ||||||
|  | 			return NCCRestUtils.toJSONString(add_json); | ||||||
|  | 
 | ||||||
|  | 		} catch (JsonProcessingException e) { | ||||||
|  | 			// TODO Auto-generated catch block | ||||||
|  | //			e.printStackTrace(); | ||||||
|  | //			return NCCRestUtils.toJSONString(e.getMessage()); | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} catch (BusinessException e) { | ||||||
|  | 			// TODO Auto-generated catch block | ||||||
|  | //			e.printStackTrace(); | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@POST | ||||||
|  | 	@Path("dzfpdelete") | ||||||
|  | 	@Consumes({ "application/json" }) | ||||||
|  | 	@Produces({ "application/json" }) | ||||||
|  | 	public JSONString doDzfpDelete(JSONString json) { | ||||||
|  | 		JSONObject jObject = JSON.parseObject(json.toJSONString()); | ||||||
|  | 		Map<String, Object> result = new HashMap<>(); | ||||||
|  | 		ObjectMapper objectMapper = new ObjectMapper(); | ||||||
|  | 		result.put("code", "0000"); | ||||||
|  | 		try { | ||||||
|  | 			if (jObject == null) { | ||||||
|  | 				result.put("success", false); | ||||||
|  | 				result.put("message", "JSONString is null "); | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(result); | ||||||
|  | 			} | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 		JSONArray jsrr= jObject.getJSONArray("data"); | ||||||
|  | 		if(jsrr.isEmpty()) { | ||||||
|  | 			result.put("success", false); | ||||||
|  | 			result.put("message", "参数错误"); | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			return NCCRestUtils.toJSONString(result); | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		ArrayList<Map<String, Object>> l_false=new ArrayList<>(); | ||||||
|  | 		 | ||||||
|  | 		for (int i = 0; i < jsrr.size(); i++) { | ||||||
|  | 			JSONObject nodeinsTodo = jsrr.getJSONObject(i); | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			 | ||||||
|  | 			String fphm = nodeinsTodo.getString("fpHm");// 发票号码 | ||||||
|  | 			if (StringUtils.isBlank(fphm)) { | ||||||
|  | 				result.put("success", false); | ||||||
|  | 				result.put("message", "发票号码(fpHm)不能为空"); | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | 				 | ||||||
|  | 				return NCCRestUtils.toJSONString(result); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			String fpdm = nodeinsTodo.getString("fpDm");// 发票代码 | ||||||
|  | 			String condition = ""; | ||||||
|  | 			if (StringUtils.isBlank(fpdm)) { | ||||||
|  | 				condition = "fphm = '" + fphm + "' and dr = 0 "; | ||||||
|  | 			} else { | ||||||
|  | 				condition = "fphm = '" + fphm + "' and fpdm = '" + fpdm + "' and dr = 0 "; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			 | ||||||
|  | 				IVMInvoiceAggVO[] invoices = NCLocator.getInstance().lookup(IVMInvoiceQueryService.class).queryAggVOsByCondition(condition); | ||||||
|  | 				if (invoices != null && invoices.length > 0) { | ||||||
|  | 					String pk_invoice = invoices[0].getHeadVO().getPk_invoice(); | ||||||
|  | 					ArrayList<String> l = new ArrayList<>(); | ||||||
|  | 					l.add(pk_invoice); | ||||||
|  | 					boolean bool = NCLocator.getInstance().lookup(IVRecService.class).deleteIVMInvoices(l.toArray(new String[0])); | ||||||
|  | //					result.put("success", bool); | ||||||
|  | //					result.put("code", "0000"); | ||||||
|  | //					String add_json = objectMapper.writeValueAsString(result); | ||||||
|  | //					return NCCRestUtils.toJSONString(add_json); | ||||||
|  | 					 | ||||||
|  | 					if(!bool) { | ||||||
|  | 						Map<String, Object> map_f = new HashMap<>(); | ||||||
|  | 						map_f.put("fphm", fphm); | ||||||
|  | 						if (StringUtils.isBlank(fpdm)) { | ||||||
|  | 							map_f.put("fpdm", ""); | ||||||
|  | 						}else { | ||||||
|  | 							map_f.put("fpdm", fpdm); | ||||||
|  | 						} | ||||||
|  | 						l_false.add(map_f); | ||||||
|  | 					} | ||||||
|  | 					 | ||||||
|  | 				} else { | ||||||
|  | 					Map<String, Object> map_f = new HashMap<>(); | ||||||
|  | 					map_f.put("fphm", fphm); | ||||||
|  | 					if (StringUtils.isBlank(fpdm)) { | ||||||
|  | 						map_f.put("fpdm", ""); | ||||||
|  | 					}else { | ||||||
|  | 						map_f.put("fpdm", fpdm); | ||||||
|  | 					} | ||||||
|  | 					l_false.add(map_f); | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		if(!l_false.isEmpty()) { | ||||||
|  | 			result.put("success", false); | ||||||
|  | 			result.put("code", "0000"); | ||||||
|  | 			result.put("fdata", l_false); | ||||||
|  | 		}else { | ||||||
|  | 			result.put("success", true); | ||||||
|  | 			result.put("code", "0000"); | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 		String add_json = objectMapper.writeValueAsString(result); | ||||||
|  | 		 | ||||||
|  | 		return NCCRestUtils.toJSONString(add_json); | ||||||
|  | //		return NCCRestUtils.toJSONString(add_json); | ||||||
|  | 		 | ||||||
|  | 		 | ||||||
|  | 		} catch (BusinessException e) { | ||||||
|  | 			// TODO Auto-generated catch block | ||||||
|  | //			e.printStackTrace(); | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		}catch (JsonProcessingException e) { | ||||||
|  | 			// TODO Auto-generated catch block | ||||||
|  | //			e.printStackTrace(); | ||||||
|  | 			return NCCRestUtils.toJSONString(parseErrorMessage(e)); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	private String getTradeTypeCode(String billtype,String billid) throws BusinessException { | ||||||
|  | 		 | ||||||
|  | 		String sql=""; | ||||||
|  | 		 | ||||||
|  | 		if(billtype.startsWith("264")) {//报销 | ||||||
|  | 			sql="select djlxbm from er_bxzb where dr=0 and pk_jkbx='"+billid+"'"; | ||||||
|  | 		}else if(billtype.equals("F1")) {//应付单 | ||||||
|  | 			sql="select pk_tradetype From ap_payablebill where isnull(dr, 0)=0 and pk_payablebill='"+billid+"'"; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 
 | ||||||
|  | 		String tradetypecode = (String)getQueryService().executeQuery(sql, new ColumnProcessor()); | ||||||
|  | 		return tradetypecode; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	public IUAPQueryBS getQueryService() { | ||||||
|  | 		return NCLocator.getInstance().lookup(IUAPQueryBS.class); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
|  | 	@Override | ||||||
|  | 	public String getModule() { | ||||||
|  | 
 | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  | } | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | package nc.itf.sscivm.service; | ||||||
|  | 
 | ||||||
|  | import com.alibaba.fastjson.JSONObject; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import nc.vo.pub.BusinessException; | ||||||
|  | import nc.vo.sscivm.invoice.IVMInvoiceFileVO; | ||||||
|  | 
 | ||||||
|  | public interface IInvoiceUploadService { | ||||||
|  |   Map<String, Object> upload(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, boolean paramBoolean, String paramString7); | ||||||
|  |    | ||||||
|  |   List<Map<String, Object>> uploadInvoice(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, IVMInvoiceFileVO paramIVMInvoiceFileVO); | ||||||
|  |    | ||||||
|  |   IVMInvoiceFileVO uploadFile(String paramString1, String paramString2, String paramString3, String paramString4) throws BusinessException; | ||||||
|  |    | ||||||
|  |   Map<String, Object> reVerifyAnduploadInvoice(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, JSONObject paramJSONObject); | ||||||
|  |    | ||||||
|  |   Map<String, Object> reUploadInvoice(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, int paramInt, JSONObject paramJSONObject); | ||||||
|  |    | ||||||
|  |   List<Map<String, Object>> queryInvoices(String paramString); | ||||||
|  | 
 | ||||||
|  | Map<String, Object> upload(String pk_org, String pk_bill, String billtype, String transitype, String filename, | ||||||
|  | 		String fileContent); | ||||||
|  | } | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue