添加同步成绩系统分项成绩信息

This commit is contained in:
yangjun 2025-01-22 13:59:56 +08:00
parent 432a22f0eb
commit b9b4ae55d8
26 changed files with 1098 additions and 2 deletions

View File

@ -753,7 +753,7 @@ public class SFTPUtil {
sftp.cd(sftpConfig.getFullpath());
} catch (SftpException e1) {
try {
mkdirs(sftpConfig.getFullpath());
sftp.mkdir(sftpConfig.getFullpath());
} catch (SftpException e2) {
map.put("code", "1");
map.put("msg", "sftp创建" + sftpConfig.getFullpath() + "文件路径失败");

View File

@ -0,0 +1,69 @@
package org.jeecg.modules.kc.grab.SynchronizationService;
import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Vjxythk0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.IXxhbfxcjmxb0015Service;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.Vjxythk0015Service;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.Map;
@Slf4j
public class SyncVjxythk0015 extends BaseSync {
@Autowired
private Vjxythk0015Service expService;
@Autowired
private IXxhbfxcjmxb0015Service impService;
/**
* 若参数变量名修改 QuartzJobController中也需对应修改
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) {
start();
run(getParamMap());
end();
}
/**
* 有参定时任务实现
* @param param
*/
public void run(Map<String, Object> param){
//查询数据
List<Vjxythk0015> inDataList = expService.list();
List<Xxhbfxcjmxb0015> outDataList = Lists.newArrayList();
//清洗数据
inDataList.forEach(x -> {
Xxhbfxcjmxb0015 outData = BeanUtil.toBean(x, Xxhbfxcjmxb0015.class);
outDataList.add(outData);
});
//保存到胃
try {
impService.syncList(outDataList);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 无参定时任务实现
*/
public void run(){
run(null);
}
}

View File

@ -0,0 +1,69 @@
package org.jeecg.modules.kc.grab.SynchronizationService;
import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Vjxythk0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.IXxhbfxcjb0016Service;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.Vjxythk0016Service;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.Map;
@Slf4j
public class SyncVjxythk0016 extends BaseSync {
@Autowired
private Vjxythk0016Service expService;
@Autowired
private IXxhbfxcjb0016Service impService;
/**
* 若参数变量名修改 QuartzJobController中也需对应修改
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) {
start();
run(getParamMap());
end();
}
/**
* 有参定时任务实现
* @param param
*/
public void run(Map<String, Object> param){
//查询数据
List<Vjxythk0016> inDataList = expService.list();
List<Xxhbfxcjb0016> outDataList = Lists.newArrayList();
//清洗数据
inDataList.forEach(x -> {
Xxhbfxcjb0016 outData = BeanUtil.toBean(x, Xxhbfxcjb0016.class);
outDataList.add(outData);
});
//保存到胃
try {
impService.syncList(outDataList);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 无参定时任务实现
*/
public void run(){
run(null);
}
}

View File

@ -0,0 +1,178 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.IXxhbfxcjb0016Service;
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.jeecg.common.system.base.controller.JeecgController;
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;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Api(tags="分项成绩表")
@RestController
@RequestMapping("/xxhbfxcjb0016/xxhbfxcjb0016")
@Slf4j
public class Xxhbfxcjb0016Controller extends JeecgController<Xxhbfxcjb0016, IXxhbfxcjb0016Service> {
@Autowired
private IXxhbfxcjb0016Service xxhbfxcjb0016Service;
/**
* 分页列表查询
*
* @param xxhbfxcjb0016
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "分项成绩表-分页列表查询")
@ApiOperation(value="分项成绩表-分页列表查询", notes="分项成绩表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<Xxhbfxcjb0016>> queryPageList(Xxhbfxcjb0016 xxhbfxcjb0016,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<Xxhbfxcjb0016> queryWrapper = QueryGenerator.initQueryWrapper(xxhbfxcjb0016, req.getParameterMap());
Page<Xxhbfxcjb0016> page = new Page<Xxhbfxcjb0016>(pageNo, pageSize);
IPage<Xxhbfxcjb0016> pageList = xxhbfxcjb0016Service.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param xxhbfxcjb0016
* @return
*/
@AutoLog(value = "分项成绩表-添加")
@ApiOperation(value="分项成绩表-添加", notes="分项成绩表-添加")
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody Xxhbfxcjb0016 xxhbfxcjb0016) {
xxhbfxcjb0016Service.save(xxhbfxcjb0016);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param xxhbfxcjb0016
* @return
*/
@AutoLog(value = "分项成绩表-编辑")
@ApiOperation(value="分项成绩表-编辑", notes="分项成绩表-编辑")
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Xxhbfxcjb0016 xxhbfxcjb0016) {
xxhbfxcjb0016Service.updateById(xxhbfxcjb0016);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "分项成绩表-通过id删除")
@ApiOperation(value="分项成绩表-通过id删除", notes="分项成绩表-通过id删除")
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
xxhbfxcjb0016Service.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "分项成绩表-批量删除")
@ApiOperation(value="分项成绩表-批量删除", notes="分项成绩表-批量删除")
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.xxhbfxcjb0016Service.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "分项成绩表-通过id查询")
@ApiOperation(value="分项成绩表-通过id查询", notes="分项成绩表-通过id查询")
@GetMapping(value = "/queryById")
public Result<Xxhbfxcjb0016> queryById(@RequestParam(name="id",required=true) String id) {
Xxhbfxcjb0016 xxhbfxcjb0016 = xxhbfxcjb0016Service.getById(id);
if(xxhbfxcjb0016==null) {
return Result.error("未找到对应数据");
}
return Result.OK(xxhbfxcjb0016);
}
/**
* 导出excel
*
* @param request
* @param xxhbfxcjb0016
*/
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Xxhbfxcjb0016 xxhbfxcjb0016) {
return super.exportXls(request, xxhbfxcjb0016, Xxhbfxcjb0016.class, "分项成绩表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("xxhbfxcjb0016:xxhbfxcjb0016:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, Xxhbfxcjb0016.class);
}
}

View File

@ -0,0 +1,76 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Data
@TableName("v_jxyth_k_0016")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="v_jxyth_k_0016对象", description="分项成绩表")
public class Vjxythk0016 implements Serializable {
private static final long serialVersionUID = 1L;
/**分项成绩代码*/
@Excel(name = "分项成绩代码", width = 15)
@ApiModelProperty(value = "分项成绩代码")
private String fxcjdm;
/**分项成绩名称*/
@Excel(name = "分项成绩名称", width = 15)
@ApiModelProperty(value = "分项成绩名称")
private String fxcjmc;
/**课程任务代码*/
@Excel(name = "课程任务代码", width = 15)
@ApiModelProperty(value = "课程任务代码")
private String kcrwdm;
/**课程编号*/
@Excel(name = "课程编号", width = 15)
@ApiModelProperty(value = "课程编号")
private String kcbh;
/**课程名称*/
@Excel(name = "课程名称", width = 15)
@ApiModelProperty(value = "课程名称")
private String kcmc;
/**成绩类型代码*/
@Excel(name = "成绩类型代码", width = 15)
@ApiModelProperty(value = "成绩类型代码")
private String cjlxdm;
/**分项比例*/
@Excel(name = "分项比例", width = 15)
@ApiModelProperty(value = "分项比例")
private String fxbl;
/**教师工号*/
@Excel(name = "教师工号", width = 15)
@ApiModelProperty(value = "教师工号")
private String teabh;
/**教师姓名*/
@Excel(name = "教师姓名", width = 15)
@ApiModelProperty(value = "教师姓名")
private String teaxm;
/**代码名称*/
@Excel(name = "代码名称", width = 15)
@ApiModelProperty(value = "代码名称")
private String dmmc;
/**无用*/
@Excel(name = "无用", width = 15)
@ApiModelProperty(value = "无用")
private String synfxcjdm;
}

View File

@ -0,0 +1,99 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Data
@TableName("xxhbfxcjb0016")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="xxhbfxcjb0016对象", description="分项成绩表")
public class Xxhbfxcjb0016 implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**分项成绩代码*/
@Excel(name = "分项成绩代码", width = 15)
@ApiModelProperty(value = "分项成绩代码")
private java.lang.String fxcjdm;
/**分项成绩名称*/
@Excel(name = "分项成绩名称", width = 15)
@ApiModelProperty(value = "分项成绩名称")
private java.lang.String fxcjmc;
/**课程任务代码*/
@Excel(name = "课程任务代码", width = 15)
@ApiModelProperty(value = "课程任务代码")
private java.lang.String kcrwdm;
/**课程编号*/
@Excel(name = "课程编号", width = 15)
@ApiModelProperty(value = "课程编号")
private java.lang.String kcbh;
/**课程名称*/
@Excel(name = "课程名称", width = 15)
@ApiModelProperty(value = "课程名称")
private java.lang.String kcmc;
/**成绩类型代码*/
@Excel(name = "成绩类型代码", width = 15)
@ApiModelProperty(value = "成绩类型代码")
private java.lang.String cjlxdm;
/**分项比例*/
@Excel(name = "分项比例", width = 15)
@ApiModelProperty(value = "分项比例")
private java.lang.String fxbl;
/**教师工号*/
@Excel(name = "教师工号", width = 15)
@ApiModelProperty(value = "教师工号")
private java.lang.String teabh;
/**教师姓名*/
@Excel(name = "教师姓名", width = 15)
@ApiModelProperty(value = "教师姓名")
private java.lang.String teaxm;
/**代码名称*/
@Excel(name = "代码名称", width = 15)
@ApiModelProperty(value = "代码名称")
private java.lang.String dmmc;
/**无用*/
@Excel(name = "无用", width = 15)
@ApiModelProperty(value = "无用")
private java.lang.String synfxcjdm;
}

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Vjxythk0016;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Vjxythk0016Mapper extends BaseMapper<Vjxythk0016> {
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Xxhbfxcjb0016Mapper extends BaseMapper<Xxhbfxcjb0016> {
}

View File

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.kc.xxhbfxcjb0016.mapper.Vjxythk0016Mapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.kc.xxhbfxcjb0016.mapper.Xxhbfxcjb0016Mapper">
</mapper>

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.service;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface IXxhbfxcjb0016Service extends IService<Xxhbfxcjb0016> {
void syncList(List<Xxhbfxcjb0016> outDataList);
}

View File

@ -0,0 +1,15 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Vjxythk0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Vjxythk0016Service extends IService<Vjxythk0016> {
}

View File

@ -0,0 +1,23 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Vjxythk0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.mapper.Vjxythk0016Mapper;
import org.jeecg.modules.kc.xxhbfxcjb0016.mapper.Xxhbfxcjb0016Mapper;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.IXxhbfxcjb0016Service;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.Vjxythk0016Service;
import org.springframework.stereotype.Service;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@DS("multi-oracle")
@Service
public class Vjxythk0016ServiceImpl extends ServiceImpl<Vjxythk0016Mapper, Vjxythk0016> implements Vjxythk0016Service {
}

View File

@ -0,0 +1,41 @@
package org.jeecg.modules.kc.xxhbfxcjb0016.service.impl;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.jeecg.modules.kc.xxhbfxcjb0016.entity.Xxhbfxcjb0016;
import org.jeecg.modules.kc.xxhbfxcjb0016.mapper.Xxhbfxcjb0016Mapper;
import org.jeecg.modules.kc.xxhbfxcjb0016.service.IXxhbfxcjb0016Service;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
/**
* @Description: 分项成绩表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Service
public class Xxhbfxcjb0016ServiceImpl extends ServiceImpl<Xxhbfxcjb0016Mapper, Xxhbfxcjb0016> implements IXxhbfxcjb0016Service {
@Override
public void syncList(List<Xxhbfxcjb0016> outDataList) {
syncList(outDataList, true);
}
@Transactional(rollbackFor = {Exception.class})
@InterceptorIgnore(tenantLine = "true")
public boolean syncList(Collection<Xxhbfxcjb0016> entityList, boolean isDelete) {
QueryWrapper dqw = new QueryWrapper();
if(isDelete){
baseMapper.delete(dqw);
}
return this.saveBatch(entityList, 1000);
}
}

View File

@ -0,0 +1,178 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.IXxhbfxcjmxb0015Service;
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.jeecg.common.system.base.controller.JeecgController;
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;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Api(tags="分项成绩明细表")
@RestController
@RequestMapping("/xxhbfxcjmxb0015/xxhbfxcjmxb0015")
@Slf4j
public class Xxhbfxcjmxb0015Controller extends JeecgController<Xxhbfxcjmxb0015, IXxhbfxcjmxb0015Service> {
@Autowired
private IXxhbfxcjmxb0015Service xxhbfxcjmxb0015Service;
/**
* 分页列表查询
*
* @param xxhbfxcjmxb0015
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "分项成绩明细表-分页列表查询")
@ApiOperation(value="分项成绩明细表-分页列表查询", notes="分项成绩明细表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<Xxhbfxcjmxb0015>> queryPageList(Xxhbfxcjmxb0015 xxhbfxcjmxb0015,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<Xxhbfxcjmxb0015> queryWrapper = QueryGenerator.initQueryWrapper(xxhbfxcjmxb0015, req.getParameterMap());
Page<Xxhbfxcjmxb0015> page = new Page<Xxhbfxcjmxb0015>(pageNo, pageSize);
IPage<Xxhbfxcjmxb0015> pageList = xxhbfxcjmxb0015Service.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param xxhbfxcjmxb0015
* @return
*/
@AutoLog(value = "分项成绩明细表-添加")
@ApiOperation(value="分项成绩明细表-添加", notes="分项成绩明细表-添加")
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody Xxhbfxcjmxb0015 xxhbfxcjmxb0015) {
xxhbfxcjmxb0015Service.save(xxhbfxcjmxb0015);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param xxhbfxcjmxb0015
* @return
*/
@AutoLog(value = "分项成绩明细表-编辑")
@ApiOperation(value="分项成绩明细表-编辑", notes="分项成绩明细表-编辑")
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Xxhbfxcjmxb0015 xxhbfxcjmxb0015) {
xxhbfxcjmxb0015Service.updateById(xxhbfxcjmxb0015);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "分项成绩明细表-通过id删除")
@ApiOperation(value="分项成绩明细表-通过id删除", notes="分项成绩明细表-通过id删除")
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
xxhbfxcjmxb0015Service.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "分项成绩明细表-批量删除")
@ApiOperation(value="分项成绩明细表-批量删除", notes="分项成绩明细表-批量删除")
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.xxhbfxcjmxb0015Service.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "分项成绩明细表-通过id查询")
@ApiOperation(value="分项成绩明细表-通过id查询", notes="分项成绩明细表-通过id查询")
@GetMapping(value = "/queryById")
public Result<Xxhbfxcjmxb0015> queryById(@RequestParam(name="id",required=true) String id) {
Xxhbfxcjmxb0015 xxhbfxcjmxb0015 = xxhbfxcjmxb0015Service.getById(id);
if(xxhbfxcjmxb0015==null) {
return Result.error("未找到对应数据");
}
return Result.OK(xxhbfxcjmxb0015);
}
/**
* 导出excel
*
* @param request
* @param xxhbfxcjmxb0015
*/
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Xxhbfxcjmxb0015 xxhbfxcjmxb0015) {
return super.exportXls(request, xxhbfxcjmxb0015, Xxhbfxcjmxb0015.class, "分项成绩明细表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("xxhbfxcjmxb0015:xxhbfxcjmxb0015:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, Xxhbfxcjmxb0015.class);
}
}

View File

@ -0,0 +1,64 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Data
@TableName("v_jxyth_k_0015")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="v_jxyth_k_0015对象", description="分项成绩明细表")
public class Vjxythk0015 implements Serializable {
private static final long serialVersionUID = 1L;
/**记录*/
@Excel(name = "记录", width = 15)
@ApiModelProperty(value = "记录")
private String kid;
/**分项成绩代码*/
@Excel(name = "分项成绩代码", width = 15)
@ApiModelProperty(value = "分项成绩代码")
private String fxcjdm;
/**课程任务代码*/
@Excel(name = "课程任务代码", width = 15)
@ApiModelProperty(value = "课程任务代码")
private String kcrwdm;
/**学生编号*/
@Excel(name = "学生编号", width = 15)
@ApiModelProperty(value = "学生编号")
private String xsbh;
/**学生姓名*/
@Excel(name = "学生姓名", width = 15)
@ApiModelProperty(value = "学生姓名")
private String xsxm;
/**分项成绩*/
@Excel(name = "分项成绩", width = 15)
@ApiModelProperty(value = "分项成绩")
private String fxcj;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String bz;
/**附件*/
@Excel(name = "附件", width = 15)
@ApiModelProperty(value = "附件")
private String path;
}

View File

@ -0,0 +1,87 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Data
@TableName("xxhbfxcjmxb0015")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="xxhbfxcjmxb0015对象", description="分项成绩明细表")
public class Xxhbfxcjmxb0015 implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**记录*/
@Excel(name = "记录", width = 15)
@ApiModelProperty(value = "记录")
private java.lang.String kid;
/**分项成绩代码*/
@Excel(name = "分项成绩代码", width = 15)
@ApiModelProperty(value = "分项成绩代码")
private java.lang.String fxcjdm;
/**课程任务代码*/
@Excel(name = "课程任务代码", width = 15)
@ApiModelProperty(value = "课程任务代码")
private java.lang.String kcrwdm;
/**学生编号*/
@Excel(name = "学生编号", width = 15)
@ApiModelProperty(value = "学生编号")
private java.lang.String xsbh;
/**学生姓名*/
@Excel(name = "学生姓名", width = 15)
@ApiModelProperty(value = "学生姓名")
private java.lang.String xsxm;
/**分项成绩*/
@Excel(name = "分项成绩", width = 15)
@ApiModelProperty(value = "分项成绩")
private java.lang.String fxcj;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String bz;
/**附件*/
@Excel(name = "附件", width = 15)
@ApiModelProperty(value = "附件")
private java.lang.String path;
}

View File

@ -0,0 +1,15 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Vjxythk0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Vjxythk0015Mapper extends BaseMapper<Vjxythk0015> {
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Xxhbfxcjmxb0015Mapper extends BaseMapper<Xxhbfxcjmxb0015> {
}

View File

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper.Vjxythk0015Mapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper.Xxhbfxcjmxb0015Mapper">
</mapper>

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.service;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface IXxhbfxcjmxb0015Service extends IService<Xxhbfxcjmxb0015> {
void syncList(List<Xxhbfxcjmxb0015> outDataList);
}

View File

@ -0,0 +1,15 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Vjxythk0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
public interface Vjxythk0015Service extends IService<Vjxythk0015> {
}

View File

@ -0,0 +1,23 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Vjxythk0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper.Vjxythk0015Mapper;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper.Xxhbfxcjmxb0015Mapper;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.IXxhbfxcjmxb0015Service;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.Vjxythk0015Service;
import org.springframework.stereotype.Service;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@DS("multi-oracle")
@Service
public class Vjxythk0015ServiceImpl extends ServiceImpl<Vjxythk0015Mapper, Vjxythk0015> implements Vjxythk0015Service {
}

View File

@ -0,0 +1,42 @@
package org.jeecg.modules.kc.xxhbfxcjmxb0015.service.impl;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.jeecg.modules.kc.grab.imports.entity.Xxhbtkxx;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.entity.Xxhbfxcjmxb0015;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.mapper.Xxhbfxcjmxb0015Mapper;
import org.jeecg.modules.kc.xxhbfxcjmxb0015.service.IXxhbfxcjmxb0015Service;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
/**
* @Description: 分项成绩明细表
* @Author: jeecg-boot
* @Date: 2025-01-22
* @Version: V1.0
*/
@Service
public class Xxhbfxcjmxb0015ServiceImpl extends ServiceImpl<Xxhbfxcjmxb0015Mapper, Xxhbfxcjmxb0015> implements IXxhbfxcjmxb0015Service {
@Override
public void syncList(List<Xxhbfxcjmxb0015> outDataList) {
syncList(outDataList, true);
}
@Transactional(rollbackFor = {Exception.class})
@InterceptorIgnore(tenantLine = "true")
public boolean syncList(Collection<Xxhbfxcjmxb0015> entityList, boolean isDelete) {
QueryWrapper dqw = new QueryWrapper();
if(isDelete){
baseMapper.delete(dqw);
}
return this.saveBatch(entityList, 1000);
}
}

View File

@ -670,7 +670,7 @@ public class ZyInfoStudentController extends JeecgController<ZyInfoStudent, IZyI
QueryWrapper<ZyInfoStudent> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ZyInfo zyInfo = zyInfoService.getById(object.getYwid());
ZyInfo zyInfo = zyInfoService.getById(object.getMainId());
SysUser teacher = sysUserService.getUserByName(zyInfo.getCreateBy());
// 过滤选中数据