package com.product.administration.controller; import com.product.administration.config.CmnConst; import com.product.administration.config.SystemCode; import com.product.administration.service.ClaimExpenseService; import com.product.administration.service.ide.IClaimExpenseService; import com.product.administration.util.MoneyUtil; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; 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 java.math.BigDecimal; import javax.servlet.http.HttpServletRequest; 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; /** * Copyright LX-BASE * * @Title: ClaimExpenseController * @Project: LX-BASE-SERVER * @Date: 2021-06-01 11:30:48 * @Author: luoxin * @Description: 费用报销 */ @RequestMapping("/api/claim") @RestController public class ClaimExpenseController extends AbstractBaseController { @Autowired public ClaimExpenseService claimExpenseService; /** * @description: 费用报销删除 * @author: ZhouJie * @date: 2021-06-01 11:32 */ @RequestMapping(value = "/delExpense/{version}", method = RequestMethod.POST) @ApiVersion(1) public String delClaimExpense(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.PRODUCT_OA_EXPENSE_CLAIM.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("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()); } IClaimExpenseService service = (IClaimExpenseService) getProxyInstance( claimExpenseService); service.delClaimExpense(fse); return OK(); } catch (BaseException e) { return this.error(e.getCode(), e.getMessageInfo()); }catch (Exception e) { return this.error(SystemCode.SYSTEM_DELETE_CLAIM_EXPENSE_FAIL.getValue(), SystemCode.SYSTEM_DELETE_CLAIM_EXPENSE_FAIL.getText()); } } /** * @description: 费用报销保存 * @author: ZhouJie * @date: 2021-06-01 11:44 */ @RequestMapping(value = "/saveExpense/{version}", method = RequestMethod.POST) @ApiVersion(1) public String saveClaimExpense(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.PRODUCT_OA_EXPENSE_CLAIM.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()); } IClaimExpenseService service = (IClaimExpenseService) getProxyInstance(claimExpenseService); return OK_Add(service.saveClaimExpense(fse)); } catch (BaseException e) { return this.error(e.getCode(), e.getMessageInfo()); }catch (Exception e) { return this.error(SystemCode.SYSTEM_SAVE_CLAIM_EXPENSE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CLAIM_EXPENSE_FAIL.getText()); } } /** * @description: 费用报销列表 * @author: ZhouJie * @date: 2021-06-01 13:43 */ @RequestMapping(value = "/listExpense/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getClaimExpenseAll(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.PRODUCT_OA_EXPENSE_CLAIM.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()); } return OK_List(claimExpenseService.listExpense(fse)); } catch (BaseException e) { return this.error(e.getCode(), e.getMessageInfo()); }catch (Exception e) { return this.error(SystemCode.SYSTEM_GET_CLAIM_EXPENSE_LIST_FAIL.getValue(), SystemCode.SYSTEM_GET_CLAIM_EXPENSE_LIST_FAIL.getText()); } } /** * 转换大写金额 * @param request * @return */ @RequestMapping(value = "/money/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getAmountWords(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.PRODUCT_OA_EXPENSE_CLAIM.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("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()); } if(fse.getString("money") == null){ return this.error(SystemCode.SYSTEM_MONEY_CAPITAL_GET_FAIL.getValue(), SystemCode.SYSTEM_MONEY_CAPITAL_GET_FAIL.getText()); }else { double money = Double.parseDouble(fse.getString("money")); BigDecimal numberOfMoney = new BigDecimal(money); return OK_login(MoneyUtil.number2CNMontrayUnit(numberOfMoney)); } } catch (BaseException e) { return this.error(e.getCode(), e.getMessageInfo()); }catch (Exception e) { return this.error(SystemCode.SYSTEM_MONEY_CAPITAL_GET_FAIL.getValue(), SystemCode.SYSTEM_MONEY_CAPITAL_GET_FAIL.getText()); } } /** * @description: 费用报销申请详情 * @author: ZhouJie * @date: 2021-06-01 14:34 */ @RequestMapping(value = "/InfoExpense/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getClaimExpenseInfo(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.PRODUCT_OA_EXPENSE_CLAIM.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()); } FieldSetEntity fs = claimExpenseService.infoExpense(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_CLAIM_EXPENSE_INFO_FAIL.getValue(), SystemCode.SYSTEM_GET_CLAIM_EXPENSE_INFO_FAIL.getText()); } } }