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