合同-发票记录

This commit is contained in:
Administrator 2023-05-11 11:57:26 +08:00
parent acc7de1ecb
commit 0cae893755
6 changed files with 434 additions and 0 deletions

View File

@ -0,0 +1,276 @@
package com.zhgd.xmgl.modules.gt;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInvoiceRecord;
import com.zhgd.xmgl.modules.gt.service.IGtMaterialInvoiceRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
/**
* @Title: Controller
* @Description: 合同-发票记录
* @author pds
* @date 2023-05-11
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/x/gtMaterialInvoiceRecord")
@Slf4j
@Api(tags = "GtMaterial合同-发票记录")
public class GtMaterialInvoiceRecordController {
@Autowired
private IGtMaterialInvoiceRecordService gtMaterialInvoiceRecordService;
/**
* 分页列表查询
*
* @param gtMaterialInvoiceRecord
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@ApiOperation(value = " 分页列表查询合同-发票记录信息", notes = "分页列表查询合同-发票记录信息", httpMethod = "GET")
@GetMapping(value = "/page")
public Result<IPage<GtMaterialInvoiceRecord>> queryPageList(GtMaterialInvoiceRecord gtMaterialInvoiceRecord,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<GtMaterialInvoiceRecord>> result = new Result<IPage<GtMaterialInvoiceRecord>>();
QueryWrapper<GtMaterialInvoiceRecord> queryWrapper = QueryGenerator.initQueryWrapper(gtMaterialInvoiceRecord, req.getParameterMap());
Page<GtMaterialInvoiceRecord> page = new Page<GtMaterialInvoiceRecord>(pageNo, pageSize);
IPage<GtMaterialInvoiceRecord> pageList = gtMaterialInvoiceRecordService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
/**
* 列表查询
*
* @param gtMaterialInvoiceRecord
* @param req
* @return
*/
@ApiOperation(value = " 列表查询合同-发票记录信息", notes = "列表查询合同-发票记录信息", httpMethod = "GET")
@GetMapping(value = "/list")
public Result<List<GtMaterialInvoiceRecord>> queryList(GtMaterialInvoiceRecord gtMaterialInvoiceRecord,
HttpServletRequest req) {
QueryWrapper<GtMaterialInvoiceRecord> queryWrapper = QueryGenerator.initQueryWrapper(gtMaterialInvoiceRecord, req.getParameterMap());
return Result.success(gtMaterialInvoiceRecordService.list(queryWrapper));
}
/**
* 添加
*
* @param gtMaterialInvoiceRecord
* @return
*/
@ApiOperation(value = " 添加合同-发票记录信息", notes = "添加合同-发票记录信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<GtMaterialInvoiceRecord> add(@RequestBody GtMaterialInvoiceRecord gtMaterialInvoiceRecord) {
Result<GtMaterialInvoiceRecord> result = new Result<GtMaterialInvoiceRecord>();
try {
gtMaterialInvoiceRecordService.save(gtMaterialInvoiceRecord);
result.success("添加成功!");
} catch (Exception e) {
e.printStackTrace();
log.info(e.getMessage());
result.error500("操作失败");
}
return result;
}
/**
* 编辑
*
* @param gtMaterialInvoiceRecord
* @return
*/
@ApiOperation(value = "编辑合同-发票记录信息", notes = "编辑合同-发票记录信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<GtMaterialInvoiceRecord> edit(@RequestBody GtMaterialInvoiceRecord gtMaterialInvoiceRecord) {
Result<GtMaterialInvoiceRecord> result = new Result<GtMaterialInvoiceRecord>();
GtMaterialInvoiceRecord gtMaterialInvoiceRecordEntity = gtMaterialInvoiceRecordService.getById(gtMaterialInvoiceRecord.getId());
if (gtMaterialInvoiceRecordEntity == null) {
result.error500("未找到对应实体");
} else {
gtMaterialInvoiceRecordService.updateById(gtMaterialInvoiceRecord);
result.success("修改成功!");
}
return result;
}
/**
* 通过id删除
*
* @param id
* @return
*/
@ApiOperation(value = "删除合同-发票记录信息", notes = "删除合同-发票记录信息", httpMethod = "POST")
@PostMapping(value = "/delete")
public Result<GtMaterialInvoiceRecord> delete(@RequestBody String id) {
JSONObject jsonObject = JSON.parseObject(id, JSONObject.class);
id = String.valueOf(jsonObject.get("id"));
Result<GtMaterialInvoiceRecord> result = new Result<GtMaterialInvoiceRecord>();
GtMaterialInvoiceRecord gtMaterialInvoiceRecord = gtMaterialInvoiceRecordService.getById(id);
if (gtMaterialInvoiceRecord == null) {
result.error500("未找到对应实体");
} else {
boolean ok = gtMaterialInvoiceRecordService.removeById(id);
if (ok) {
result.success("删除成功!");
}
}
return result;
}
/**
* 批量删除
*
* @param ids
* @return
*/
@ApiOperation(value = "批量删除合同-发票记录信息", notes = "批量删除合同-发票记录信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "合同-发票记录ID字符串", paramType = "query", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<GtMaterialInvoiceRecord> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
Result<GtMaterialInvoiceRecord> result = new Result<GtMaterialInvoiceRecord>();
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.gtMaterialInvoiceRecordService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
* @param id
* @return
*/
@ApiOperation(value = "通过id查询合同-发票记录信息", notes = "通过id查询合同-发票记录信息", httpMethod = "GET")
@ApiImplicitParam(name = "id", value = "合同-发票记录ID", paramType = "query", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<GtMaterialInvoiceRecord> queryById(@RequestParam(name = "id", required = true) String id) {
Result<GtMaterialInvoiceRecord> result = new Result<GtMaterialInvoiceRecord>();
GtMaterialInvoiceRecord gtMaterialInvoiceRecord = gtMaterialInvoiceRecordService.getById(id);
if (gtMaterialInvoiceRecord == null) {
result.error500("未找到对应实体");
} else {
result.setResult(gtMaterialInvoiceRecord);
result.setSuccess(true);
}
return result;
}
/**
* 导出excel
*
* @param request
* @param response
*/
@ApiOperation(value = "导出excel合同-发票记录信息", notes = "导出excel合同-发票记录信息", httpMethod = "POST")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
// Step.1 组装查询条件
QueryWrapper<GtMaterialInvoiceRecord> queryWrapper = null;
try {
String paramsStr = request.getParameter("paramsStr");
if (oConvertUtils.isNotEmpty(paramsStr)) {
String deString = URLDecoder.decode(paramsStr, "UTF-8");
GtMaterialInvoiceRecord gtMaterialInvoiceRecord = JSON.parseObject(deString, GtMaterialInvoiceRecord.class);
queryWrapper = QueryGenerator.initQueryWrapper(gtMaterialInvoiceRecord, request.getParameterMap());
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<GtMaterialInvoiceRecord> pageList = gtMaterialInvoiceRecordService.list(queryWrapper);
//导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "合同-发票记录列表");
mv.addObject(NormalExcelConstants.CLASS, GtMaterialInvoiceRecord.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("合同-发票记录列表数据", "导出人:Jeecg", "导出信息"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@ApiOperation(value = "通过excel导入合同-发票记录信息", notes = "通过excel导入合同-发票记录信息", httpMethod = "POST")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<GtMaterialInvoiceRecord> listGtMaterialInvoiceRecords = ExcelImportUtil.importExcel(file.getInputStream(), GtMaterialInvoiceRecord.class, params);
for (GtMaterialInvoiceRecord gtMaterialInvoiceRecordExcel : listGtMaterialInvoiceRecords) {
gtMaterialInvoiceRecordService.save(gtMaterialInvoiceRecordExcel);
}
return Result.ok("文件导入成功!数据行数:" + listGtMaterialInvoiceRecords.size());
} catch (Exception e) {
log.error(e.getMessage());
return Result.error("文件导入失败!");
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Result.ok("文件导入失败!");
}
}

View File

@ -0,0 +1,105 @@
package com.zhgd.xmgl.modules.gt.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 合同-发票记录
* @author pds
* @date 2023-05-11
* @version V1.0
*/
@Data
@TableName("gt_material_invoice_record")
@ApiModel(value = "GtMaterialInvoiceRecord实体类", description = "GtMaterialInvoiceRecord")
public class GtMaterialInvoiceRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键id")
private java.lang.Long id;
/**
* 合同id
*/
@Excel(name = "合同id", width = 15)
@ApiModelProperty(value = "合同id")
private java.lang.Long gtMaterialContractId;
/**
* 申请时间
*/
@Excel(name = "申请时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "申请时间")
private java.util.Date applicationTime;
/**
* 签约主体
*/
@Excel(name = "签约主体", width = 15)
@ApiModelProperty(value = "签约主体")
private java.lang.String signingParty;
/**
* 发票美型
*/
@Excel(name = "发票美型", width = 15)
@ApiModelProperty(value = "发票美型")
private java.lang.String invoiceFormat;
/**
* 发票介质
*/
@Excel(name = "发票介质", width = 15)
@ApiModelProperty(value = "发票介质")
private java.lang.String invoiceMedium;
/**
* 开票方式
*/
@Excel(name = "开票方式", width = 15)
@ApiModelProperty(value = "开票方式")
private java.lang.String billingMethod;
/**
* 发票金额
*/
@Excel(name = "发票金额", width = 15)
@ApiModelProperty(value = "发票金额")
private java.math.BigDecimal invoiceAmount;
/**
* 状态
*/
@Excel(name = "状态", width = 15)
@ApiModelProperty(value = "状态")
private java.lang.String status;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value = "项目sn")
private java.lang.String projectSn;
/**
* 创建时间
*/
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**
* 更新时间
*/
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
}

View File

@ -0,0 +1,16 @@
package com.zhgd.xmgl.modules.gt.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInvoiceRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 合同-发票记录
* @author pds
* @date 2023-05-11
* @version V1.0
*/
@Mapper
public interface GtMaterialInvoiceRecordMapper extends BaseMapper<GtMaterialInvoiceRecord> {
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.gt.mapper.GtMaterialInvoiceRecordMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.gt.service;
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInvoiceRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 合同-发票记录
* @author pds
* @date 2023-05-11
* @version V1.0
*/
public interface IGtMaterialInvoiceRecordService extends IService<GtMaterialInvoiceRecord> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.gt.service.impl;
import com.zhgd.xmgl.modules.gt.entity.GtMaterialInvoiceRecord;
import com.zhgd.xmgl.modules.gt.mapper.GtMaterialInvoiceRecordMapper;
import com.zhgd.xmgl.modules.gt.service.IGtMaterialInvoiceRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 合同-发票记录
* @author pds
* @date 2023-05-11
* @version V1.0
*/
@Service
public class GtMaterialInvoiceRecordServiceImpl extends ServiceImpl<GtMaterialInvoiceRecordMapper, GtMaterialInvoiceRecord> implements IGtMaterialInvoiceRecordService {
}