package com.product.contract.controller; import com.product.common.lang.StringUtils; import com.product.contract.config.CmnConst; import com.product.contract.config.SystemCode; import com.product.contract.service.ContractInvoiceService; import com.product.contract.service.ide.IContractInvoiceService; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.module.sys.version.ApiVersion; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * Copyright LX * @Title: ContractInvoiceController * @Project: product-server * @date: 2021-06-29 11:23 * @author: ZhouJie * @Description: 合同开票 */ @RequestMapping("/api/contract") @RestController public class ContractInvoiceController extends AbstractBaseController { @Autowired public ContractInvoiceService contractInvoiceService; /** * 合同开票信息保存 * @param request * @return */ @RequestMapping(value = "/save-invoice/{version}", method = RequestMethod.POST) @ApiVersion(1) public String saveContractInvoice(HttpServletRequest request){ try{ //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.LX_PROJECT_CONTRACT_INVOICE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } IContractInvoiceService service = (IContractInvoiceService) getProxyInstance(contractInvoiceService); String uuid = service.saveContractInvoice(fse); if (!StringUtils.isEmpty(uuid)) { return OK_Add(uuid); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getText()); return error(SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getText()); }catch(BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); }catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONTRACT_INVOICE_FAIL.getText()); } } /** * 合同开票信息删除 * @param request * @return */ @RequestMapping(value = "/delete-invoice/{version}", method = RequestMethod.POST) @ApiVersion(1) public String deleteContractInvoice(HttpServletRequest request){ try{ //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null) { RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.LX_PROJECT_CONTRACT_INVOICE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断uuid是否为空 if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } IContractInvoiceService service = (IContractInvoiceService) getProxyInstance(contractInvoiceService); boolean success = service.deleteContractInvoice(fse); if(success) { return OK(); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getValue(),SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getText()); return error(SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getValue(),SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getText()); }catch(BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); }catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_DELETE_CONTRACT_INVOICE_FAIL.getText()); } } /** * 合同开票列表 * @param request * @return */ @RequestMapping(value = "/list-invoice/{version}", method = RequestMethod.POST) @ApiVersion(1) public String listContractInvoice(HttpServletRequest request){ try{ // 获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } // 判断参数是否为空 if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (!CmnConst.LX_PROJECT_CONTRACT_INVOICE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } // 判断分页参数 if (fse.getString(CmnConst.PAGESIZE) == null || fse.getString(CmnConst.CPAGE) == null) { return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText()); } DataTableEntity dt = contractInvoiceService.listContractInvoice(fse); return OK_List(dt); } catch (BaseException e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_LIST_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_LIST_CONTRACT_INVOICE_FAIL.getText()); } } /** * 合同开票详情 * @param request * @return */ @RequestMapping(value = "/find-invoice/{version}", method = RequestMethod.POST) @ApiVersion(1) public String findContractInvoice(HttpServletRequest request){ try { // 获取参数find-invoice FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } // 判断参数是否为空 if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (!CmnConst.LX_PROJECT_CONTRACT_INVOICE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } // 判断uuid是否为空 if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } FieldSetEntity fs = contractInvoiceService.findContractInvoice(fse); return OK_List(fs); } catch (BaseException e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_FIND_CONTRACT_INVOICE_FAIL.getValue(), SystemCode.SYSTEM_FIND_CONTRACT_INVOICE_FAIL.getText()); } } /** * 根据开票号获取发票金额 * @param request * @return */ @RequestMapping(value = "/get-invoiceamount/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getInvoiceAmountByTerms(HttpServletRequest request){ try { // 获取参数find-invoice FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } // 判断参数是否为空 if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (!CmnConst.LX_PROJECT_CONTRACT_INVOICE.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } // 判断uuid是否为空 // if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { // SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), // SystemCode.SYSTEM_FORM_COUNT.getText()); // return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); // } FieldSetEntity fs = contractInvoiceService.getInvoiceAmountByTerms(fse); return OK_List(fs); } catch (BaseException e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_GET_INVOICE_AMOUNT_FAIL.getValue(), SystemCode.SYSTEM_GET_INVOICE_AMOUNT_FAIL.getText()); } } }