package com.jsh.erp.controller; import com.alibaba.fastjson.JSONObject; import com.jsh.erp.base.BaseController; import com.jsh.erp.base.TableDataInfo; import com.jsh.erp.constants.ExceptionConstants; import com.jsh.erp.datasource.entities.AccountHead; import com.jsh.erp.datasource.entities.AccountHeadVo4Body; import com.jsh.erp.datasource.entities.AccountHeadVo4ListEx; import com.jsh.erp.service.AccountHeadService; import com.jsh.erp.utils.BaseResponseInfo; import com.jsh.erp.utils.Constants; import com.jsh.erp.utils.ErpInfo; import com.jsh.erp.utils.StringUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.jsh.erp.utils.ResponseJsonUtil.returnJson; import static com.jsh.erp.utils.ResponseJsonUtil.returnStr; /** * @author jishenghua 752*718*920 */ @RestController @RequestMapping(value = "/accountHead") @Api(tags = {"财务管理"}) public class AccountHeadController extends BaseController { private Logger logger = LoggerFactory.getLogger(AccountHeadController.class); @Resource private AccountHeadService accountHeadService; @GetMapping(value = "/info") @ApiOperation(value = "根据id获取信息") public String getList(@RequestParam("id") Long id, HttpServletRequest request) throws Exception { AccountHead accountHead = accountHeadService.getAccountHead(id); Map objectMap = new HashMap<>(); if(accountHead != null) { objectMap.put("info", accountHead); return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } else { return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); } } @GetMapping(value = "/list") @ApiOperation(value = "获取信息列表") public TableDataInfo getList(@RequestParam(value = Constants.SEARCH, required = false) String search, HttpServletRequest request)throws Exception { String type = StringUtil.getInfo(search, "type"); String billNo = StringUtil.getInfo(search, "billNo"); String beginTime = StringUtil.getInfo(search, "beginTime"); String endTime = StringUtil.getInfo(search, "endTime"); Long organId = StringUtil.parseStrLong(StringUtil.getInfo(search, "organId")); Long creator = StringUtil.parseStrLong(StringUtil.getInfo(search, "creator")); Long handsPersonId = StringUtil.parseStrLong(StringUtil.getInfo(search, "handsPersonId")); Long accountId = StringUtil.parseStrLong(StringUtil.getInfo(search, "accountId")); String status = StringUtil.getInfo(search, "status"); String remark = StringUtil.getInfo(search, "remark"); String number = StringUtil.getInfo(search, "number"); Long inOutItemId = StringUtil.parseStrLong(StringUtil.getInfo(search, "inOutItemId")); List list = accountHeadService.select(type, billNo, beginTime, endTime, organId, creator, handsPersonId, accountId, status, remark, number, inOutItemId); return getDataTable(list); } @DeleteMapping(value = "/delete") @ApiOperation(value = "删除") public String deleteResource(@RequestParam("id") Long id, HttpServletRequest request)throws Exception { Map objectMap = new HashMap<>(); int delete = accountHeadService.deleteAccountHead(id, request); return returnStr(objectMap, delete); } @DeleteMapping(value = "/deleteBatch") @ApiOperation(value = "批量删除") public String batchDeleteResource(@RequestParam("ids") String ids, HttpServletRequest request)throws Exception { Map objectMap = new HashMap<>(); int delete = accountHeadService.batchDeleteAccountHead(ids, request); return returnStr(objectMap, delete); } /** * 批量设置状态-审核或者反审核 * @param jsonObject * @param request * @return */ @PostMapping(value = "/batchSetStatus") @ApiOperation(value = "批量设置状态-审核或者反审核") public String batchSetStatus(@RequestBody JSONObject jsonObject, HttpServletRequest request) throws Exception{ Map objectMap = new HashMap<>(); String status = jsonObject.getString("status"); String ids = jsonObject.getString("ids"); int res = accountHeadService.batchSetStatus(status, ids); if(res > 0) { return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code); } else { return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code); } } /** * 新增财务主表及财务子表信息 * @param body * @param request * @return * @throws Exception */ @PostMapping(value = "/addAccountHeadAndDetail") @ApiOperation(value = "新增财务主表及财务子表信息") public Object addAccountHeadAndDetail(@RequestBody AccountHeadVo4Body body, HttpServletRequest request) throws Exception{ JSONObject result = ExceptionConstants.standardSuccess(); String beanJson = body.getInfo(); String rows = body.getRows(); accountHeadService.addAccountHeadAndDetail(beanJson,rows, request); return result; } /** * 更新财务主表及财务子表信息 * @param body * @param request * @return * @throws Exception */ @PutMapping(value = "/updateAccountHeadAndDetail") @ApiOperation(value = "更新财务主表及财务子表信息") public Object updateAccountHeadAndDetail(@RequestBody AccountHeadVo4Body body, HttpServletRequest request) throws Exception{ JSONObject result = ExceptionConstants.standardSuccess(); String beanJson = body.getInfo(); String rows = body.getRows(); accountHeadService.updateAccountHeadAndDetail(beanJson,rows,request); return result; } /** * 根据编号查询单据信息 * @param billNo * @param request * @return */ @GetMapping(value = "/getDetailByNumber") @ApiOperation(value = "根据编号查询单据信息") public BaseResponseInfo getDetailByNumber(@RequestParam("billNo") String billNo, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); AccountHeadVo4ListEx ahl = new AccountHeadVo4ListEx(); try { List list = accountHeadService.getDetailByNumber(billNo); if(list.size()>0) { ahl = list.get(0); } res.code = 200; res.data = ahl; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } /** * 根据出入库单据id查询收付款单号 * @param billId * @param request * @return */ @GetMapping(value = "/getFinancialBillNoByBillId") @ApiOperation(value = "根据编号查询单据信息") public BaseResponseInfo getFinancialBillNoByBillId(@RequestParam("billId") Long billId, HttpServletRequest request)throws Exception { BaseResponseInfo res = new BaseResponseInfo(); try { List list = accountHeadService.getFinancialBillNoByBillId(billId); res.code = 200; res.data = list; } catch(Exception e){ logger.error(e.getMessage(), e); res.code = 500; res.data = "获取数据失败"; } return res; } }