修改页面

This commit is contained in:
liuwu 2023-09-01 15:38:39 +08:00
parent 526431e922
commit ea0a79f6a9
20 changed files with 1307 additions and 302 deletions

View File

@ -0,0 +1,128 @@
package com.cyx.web.base.controller;
import java.util.List;
import com.cyx.common.annotation.Log;
import com.cyx.common.core.controller.BaseController;
import com.cyx.common.core.domain.AjaxResult;
import com.cyx.common.core.page.TableDataInfo;
import com.cyx.common.enums.BusinessType;
import com.cyx.common.utils.poi.ExcelUtil;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cyx.web.base.domain.TAmentDaySeason;
import com.cyx.web.base.service.ITAmentDaySeasonService;
/**
* 日常季度考核Controller
*
* @author ruoyi
* @date 2023-09-01
*/
@Controller
@RequestMapping("/base/season")
public class TAmentDaySeasonController extends BaseController
{
private String prefix = "base/season";
@Autowired
private ITAmentDaySeasonService tAmentDaySeasonService;
@RequiresPermissions("base:season:view")
@GetMapping()
public String season()
{
return prefix + "/season";
}
/**
* 查询日常季度考核列表
*/
@RequiresPermissions("base:season:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(TAmentDaySeason tAmentDaySeason)
{
startPage();
List<TAmentDaySeason> list = tAmentDaySeasonService.selectTAmentDaySeasonList(tAmentDaySeason);
return getDataTable(list);
}
/**
* 导出日常季度考核列表
*/
@RequiresPermissions("base:season:export")
@Log(title = "日常季度考核", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(TAmentDaySeason tAmentDaySeason)
{
List<TAmentDaySeason> list = tAmentDaySeasonService.selectTAmentDaySeasonList(tAmentDaySeason);
ExcelUtil<TAmentDaySeason> util = new ExcelUtil<TAmentDaySeason>(TAmentDaySeason.class);
return util.exportExcel(list, "日常季度考核数据");
}
/**
* 新增日常季度考核
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存日常季度考核
*/
@RequiresPermissions("base:season:add")
@Log(title = "日常季度考核", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(TAmentDaySeason tAmentDaySeason)
{
return toAjax(tAmentDaySeasonService.insertTAmentDaySeason(tAmentDaySeason));
}
/**
* 修改日常季度考核
*/
@RequiresPermissions("base:season:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
TAmentDaySeason tAmentDaySeason = tAmentDaySeasonService.selectTAmentDaySeasonById(id);
mmap.put("tAmentDaySeason", tAmentDaySeason);
return prefix + "/edit";
}
/**
* 修改保存日常季度考核
*/
@RequiresPermissions("base:season:edit")
@Log(title = "日常季度考核", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(TAmentDaySeason tAmentDaySeason)
{
return toAjax(tAmentDaySeasonService.updateTAmentDaySeason(tAmentDaySeason));
}
/**
* 删除日常季度考核
*/
@RequiresPermissions("base:season:remove")
@Log(title = "日常季度考核", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(tAmentDaySeasonService.deleteTAmentDaySeasonByIds(ids));
}
}

View File

@ -21,6 +21,25 @@ public class TAmentAdvancedDept extends BaseEntity
/** */
private Long id;
private Integer pageNum;
private Integer pageSize;
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
/** 年度 */
@Excel(name = "年度")
private String year;

View File

@ -21,6 +21,25 @@ public class TAmentAdvancedParty extends BaseEntity
/** */
private Long id;
private Integer pageNum;
private Integer pageSize;
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
/** 年度 */
@Excel(name = "年度")
private String year;

View File

@ -0,0 +1,410 @@
package com.cyx.web.base.domain;
import java.util.Date;
import com.cyx.common.annotation.Excel;
import com.cyx.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 日常季度考核对象 t_ament_day_season
*
* @author ruoyi
* @date 2023-09-01
*/
public class TAmentDaySeason extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 自增ID */
private Long id;
/** 日常考核/季度考核 */
@Excel(name = "日常考核/季度考核")
private String type;
/** 指标简称 */
@Excel(name = "指标简称")
private String shotName;
/** 考核方式(周,月,季,年) */
@Excel(name = "考核方式(周,月,季,年)")
private String unit;
/** 考核内容 */
@Excel(name = "考核内容")
private String target;
/** 考核目标 */
@Excel(name = "考核目标")
private String demand;
/** 任务程度 */
@Excel(name = "任务程度")
private String degree;
/** 工作任务 */
@Excel(name = "工作任务")
private String detailed;
/** 达标分 */
@Excel(name = "达标分")
private String score;
/** 考核类别 日常监控 */
@Excel(name = "考核类别 日常监控")
private String method;
/** 状态 */
@Excel(name = "状态")
private String status;
/** 负责人 */
@Excel(name = "负责人")
private String head;
/** 审核人 */
@Excel(name = "审核人")
private String reviewed;
/** 完成截止时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "完成截止时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date finishDate;
/** 操作人员ID */
@Excel(name = "操作人员ID")
private Long perId;
/** 部门ID */
@Excel(name = "部门ID")
private Long deptId;
/** 支部ID */
@Excel(name = "支部ID")
private Long branchId;
/** 文件 */
@Excel(name = "文件")
private String files;
/** 当前得分 */
@Excel(name = "当前得分")
private String nowScore;
/** 提交记录id */
@Excel(name = "提交记录id")
private Long commitId;
/** 审批记录id */
@Excel(name = "审批记录id")
private Long reviewedId;
/** 驳回次数 */
@Excel(name = "驳回次数")
private Long times;
private Integer pageNum;
private Integer pageSize;
@Excel(name = "负责人")
private String header;
@Excel(name = "审核人")
private String reviewer;
@Excel(name = "操作人")
private String oprator;
@Excel(name = "支部")
private String branch;
@Excel(name = "部门")
private String deptName;
public String getHeader() {
return header;
}
public void setHeader(String header) {
this.header = header;
}
public String getReviewer() {
return reviewer;
}
public void setReviewer(String reviewer) {
this.reviewer = reviewer;
}
public String getOprator() {
return oprator;
}
public void setOprator(String oprator) {
this.oprator = oprator;
}
public String getBranch() {
return branch;
}
public void setBranch(String branch) {
this.branch = branch;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setShotName(String shotName)
{
this.shotName = shotName;
}
public String getShotName()
{
return shotName;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setTarget(String target)
{
this.target = target;
}
public String getTarget()
{
return target;
}
public void setDemand(String demand)
{
this.demand = demand;
}
public String getDemand()
{
return demand;
}
public void setDegree(String degree)
{
this.degree = degree;
}
public String getDegree()
{
return degree;
}
public void setDetailed(String detailed)
{
this.detailed = detailed;
}
public String getDetailed()
{
return detailed;
}
public void setScore(String score)
{
this.score = score;
}
public String getScore()
{
return score;
}
public void setMethod(String method)
{
this.method = method;
}
public String getMethod()
{
return method;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setHead(String head)
{
this.head = head;
}
public String getHead()
{
return head;
}
public void setReviewed(String reviewed)
{
this.reviewed = reviewed;
}
public String getReviewed()
{
return reviewed;
}
public void setFinishDate(Date finishDate)
{
this.finishDate = finishDate;
}
public Date getFinishDate()
{
return finishDate;
}
public void setPerId(Long perId)
{
this.perId = perId;
}
public Long getPerId()
{
return perId;
}
public void setDeptId(Long deptId)
{
this.deptId = deptId;
}
public Long getDeptId()
{
return deptId;
}
public void setBranchId(Long branchId)
{
this.branchId = branchId;
}
public Long getBranchId()
{
return branchId;
}
public void setFiles(String files)
{
this.files = files;
}
public String getFiles()
{
return files;
}
public void setNowScore(String nowScore)
{
this.nowScore = nowScore;
}
public String getNowScore()
{
return nowScore;
}
public void setCommitId(Long commitId)
{
this.commitId = commitId;
}
public Long getCommitId()
{
return commitId;
}
public void setReviewedId(Long reviewedId)
{
this.reviewedId = reviewedId;
}
public Long getReviewedId()
{
return reviewedId;
}
public void setTimes(Long times)
{
this.times = times;
}
public Long getTimes()
{
return times;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("type", getType())
.append("shotName", getShotName())
.append("unit", getUnit())
.append("target", getTarget())
.append("demand", getDemand())
.append("degree", getDegree())
.append("detailed", getDetailed())
.append("score", getScore())
.append("method", getMethod())
.append("status", getStatus())
.append("head", getHead())
.append("reviewed", getReviewed())
.append("finishDate", getFinishDate())
.append("perId", getPerId())
.append("deptId", getDeptId())
.append("branchId", getBranchId())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("files", getFiles())
.append("nowScore", getNowScore())
.append("commitId", getCommitId())
.append("reviewedId", getReviewedId())
.append("times", getTimes())
.toString();
}
}

View File

@ -21,6 +21,9 @@ public class TAmentPartyAffairs extends BaseEntity
/** 自增ID */
private Long id;
private Integer pageNum;
private Integer pageSize;
/** 作用于附件主键ID和type同时出现 */
@Excel(name = "作用于附件", readConverterExp = "主=键ID和type同时出现")
private String type;
@ -31,14 +34,6 @@ public class TAmentPartyAffairs extends BaseEntity
private String shotName;
public String getShotName() {
return shotName;
}
public void setShotName(String shotName) {
this.shotName = shotName;
}
/** 目标项及分值 */
@Excel(name = "目标项及分值")
private String target;
@ -47,6 +42,83 @@ public class TAmentPartyAffairs extends BaseEntity
private Long commitId;
private Long reviewedId;
/** 目标要求 */
@Excel(name = "目标要求")
private String demand;
/** 评分细则 */
@Excel(name = "评分细则")
private String detailed;
/** 达标分 */
@Excel(name = "达标分")
private String score;
private String nowScore;
/** 考核方式 */
@Excel(name = "考核方式")
private String method;
/** 负责人 */
private String files;
private String head;
@Excel(name = "负责人")
private String header;
@Excel(name = "审核人")
private String reviewer;
@Excel(name = "操作人")
private String oprator;
@Excel(name = "支部")
private String branch;
@Excel(name = "部门")
private String deptName;
/** 审核人 */
@Excel(name = "审核人")
private String reviewed;
/** 完成截止时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "完成截止时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date finishDate;
/** 操作人员ID */
@Excel(name = "操作人员ID")
private Long perId;
/** 部门ID */
@Excel(name = "部门ID")
private Long deptId;
/** 支部ID */
@Excel(name = "支部ID")
private Long branchId;
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public String getShotName() {
return shotName;
}
public void setShotName(String shotName) {
this.shotName = shotName;
}
public String getStatus() {
return status;
}
@ -71,19 +143,6 @@ public class TAmentPartyAffairs extends BaseEntity
this.reviewedId = reviewedId;
}
/** 目标要求 */
@Excel(name = "目标要求")
private String demand;
/** 评分细则 */
@Excel(name = "评分细则")
private String detailed;
/** 达标分 */
@Excel(name = "达标分")
private String score;
private String nowScore;
public String getNowScore() {
return nowScore;
}
@ -92,14 +151,6 @@ public class TAmentPartyAffairs extends BaseEntity
this.nowScore = nowScore;
}
/** 考核方式 */
@Excel(name = "考核方式")
private String method;
/** 负责人 */
private String files;
public String getFiles() {
return files;
}
@ -108,18 +159,6 @@ public class TAmentPartyAffairs extends BaseEntity
this.files = files;
}
private String head;
@Excel(name = "负责人")
private String header;
@Excel(name = "审核人")
private String reviewer;
@Excel(name = "操作人")
private String oprator;
@Excel(name = "支部")
private String branch;
@Excel(name = "部门")
private String deptName;
public String getHeader() {
return header;
}
@ -160,27 +199,6 @@ public class TAmentPartyAffairs extends BaseEntity
this.deptName = deptName;
}
/** 审核人 */
@Excel(name = "审核人")
private String reviewed;
/** 完成截止时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "完成截止时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date finishDate;
/** 操作人员ID */
@Excel(name = "操作人员ID")
private Long perId;
/** 部门ID */
@Excel(name = "部门ID")
private Long deptId;
/** 支部ID */
@Excel(name = "支部ID")
private Long branchId;
public void setId(Long id)
{
this.id = id;

View File

@ -21,6 +21,25 @@ public class TAmentPersonnel extends BaseEntity
/** */
private Long id;
private Integer pageNum;
private Integer pageSize;
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
/** 单位名称 */
@Excel(name = "单位名称")
private String unit;

View File

@ -0,0 +1,61 @@
package com.cyx.web.base.mapper;
import java.util.List;
import com.cyx.web.base.domain.TAmentDaySeason;
/**
* 日常季度考核Mapper接口
*
* @author ruoyi
* @date 2023-09-01
*/
public interface TAmentDaySeasonMapper
{
/**
* 查询日常季度考核
*
* @param id 日常季度考核主键
* @return 日常季度考核
*/
public TAmentDaySeason selectTAmentDaySeasonById(Long id);
/**
* 查询日常季度考核列表
*
* @param tAmentDaySeason 日常季度考核
* @return 日常季度考核集合
*/
public List<TAmentDaySeason> selectTAmentDaySeasonList(TAmentDaySeason tAmentDaySeason);
/**
* 新增日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
public int insertTAmentDaySeason(TAmentDaySeason tAmentDaySeason);
/**
* 修改日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
public int updateTAmentDaySeason(TAmentDaySeason tAmentDaySeason);
/**
* 删除日常季度考核
*
* @param id 日常季度考核主键
* @return 结果
*/
public int deleteTAmentDaySeasonById(Long id);
/**
* 批量删除日常季度考核
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteTAmentDaySeasonByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.cyx.web.base.service;
import java.util.List;
import com.cyx.web.base.domain.TAmentDaySeason;
/**
* 日常季度考核Service接口
*
* @author ruoyi
* @date 2023-09-01
*/
public interface ITAmentDaySeasonService
{
/**
* 查询日常季度考核
*
* @param id 日常季度考核主键
* @return 日常季度考核
*/
public TAmentDaySeason selectTAmentDaySeasonById(Long id);
/**
* 查询日常季度考核列表
*
* @param tAmentDaySeason 日常季度考核
* @return 日常季度考核集合
*/
public List<TAmentDaySeason> selectTAmentDaySeasonList(TAmentDaySeason tAmentDaySeason);
/**
* 新增日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
public int insertTAmentDaySeason(TAmentDaySeason tAmentDaySeason);
/**
* 修改日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
public int updateTAmentDaySeason(TAmentDaySeason tAmentDaySeason);
/**
* 批量删除日常季度考核
*
* @param ids 需要删除的日常季度考核主键集合
* @return 结果
*/
public int deleteTAmentDaySeasonByIds(String ids);
/**
* 删除日常季度考核信息
*
* @param id 日常季度考核主键
* @return 结果
*/
public int deleteTAmentDaySeasonById(Long id);
}

View File

@ -0,0 +1,98 @@
package com.cyx.web.base.service.impl;
import java.util.List;
import com.cyx.common.core.text.Convert;
import com.cyx.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cyx.web.base.mapper.TAmentDaySeasonMapper;
import com.cyx.web.base.domain.TAmentDaySeason;
import com.cyx.web.base.service.ITAmentDaySeasonService;
/**
* 日常季度考核Service业务层处理
*
* @author ruoyi
* @date 2023-09-01
*/
@Service
public class TAmentDaySeasonServiceImpl implements ITAmentDaySeasonService
{
@Autowired
private TAmentDaySeasonMapper tAmentDaySeasonMapper;
/**
* 查询日常季度考核
*
* @param id 日常季度考核主键
* @return 日常季度考核
*/
@Override
public TAmentDaySeason selectTAmentDaySeasonById(Long id)
{
return tAmentDaySeasonMapper.selectTAmentDaySeasonById(id);
}
/**
* 查询日常季度考核列表
*
* @param tAmentDaySeason 日常季度考核
* @return 日常季度考核
*/
@Override
public List<TAmentDaySeason> selectTAmentDaySeasonList(TAmentDaySeason tAmentDaySeason)
{
return tAmentDaySeasonMapper.selectTAmentDaySeasonList(tAmentDaySeason);
}
/**
* 新增日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
@Override
public int insertTAmentDaySeason(TAmentDaySeason tAmentDaySeason)
{
tAmentDaySeason.setCreateTime(DateUtils.getNowDate());
return tAmentDaySeasonMapper.insertTAmentDaySeason(tAmentDaySeason);
}
/**
* 修改日常季度考核
*
* @param tAmentDaySeason 日常季度考核
* @return 结果
*/
@Override
public int updateTAmentDaySeason(TAmentDaySeason tAmentDaySeason)
{
tAmentDaySeason.setUpdateTime(DateUtils.getNowDate());
return tAmentDaySeasonMapper.updateTAmentDaySeason(tAmentDaySeason);
}
/**
* 批量删除日常季度考核
*
* @param ids 需要删除的日常季度考核主键
* @return 结果
*/
@Override
public int deleteTAmentDaySeasonByIds(String ids)
{
return tAmentDaySeasonMapper.deleteTAmentDaySeasonByIds(Convert.toStrArray(ids));
}
/**
* 删除日常季度考核信息
*
* @param id 日常季度考核主键
* @return 结果
*/
@Override
public int deleteTAmentDaySeasonById(Long id)
{
return tAmentDaySeasonMapper.deleteTAmentDaySeasonById(id);
}
}

View File

@ -176,6 +176,7 @@
var method = $("#method");
switch (type) {
case "党务及意识形态":
$("#deptId").hide()
target[0].innerHTML = '目标项:'
demand[0].innerHTML = '目标要求:'
detailed[0].innerHTML = '评分细则:'
@ -183,6 +184,7 @@
method[0].innerHTML = '考核方式:'
break;
case "党风廉政建设":
$("#deptId").hide()
target[0].innerHTML = '责任类别:'
demand[0].innerHTML = '目标要求:'
detailed[0].innerHTML = '指标明细:'

View File

@ -11,42 +11,18 @@
<div class="select-list">
<ul>
<input type="hidden" name="type" value="党务及意识形态"/>
<!-- <li>-->
<!-- <label>单位名称:</label>-->
<!-- <input type="text" name="unit"/>-->
<!-- </li>-->
<li>
<label>目标项:</label>
<input type="text" name="target"/>
<label>简写:</label>
<input type="text" id="shotName" name="shotName"/>
</li>
<li>
<label>负责人:</label>
<select name="head" id="head"></select>
</li>
<li>
<label>审核人:</label>
<select name="reviewed" id="reviewed"></select>
</li>
<!-- <li>-->
<!-- <label>考核方式:</label>-->
<!-- <input type="text" name="method"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>负责人:</label>-->
<!-- <input type="text" name="head"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核人:</label>-->
<!-- <input type="text" name="reviewed"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>完成截止时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择完成截止时间" name="finishDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>操作人员ID</label>-->
<!-- <input type="text" name="perId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>部门ID</label>-->
<!-- <input type="text" name="deptId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>支部ID</label>-->
<!-- <input type="text" name="branchId"/>-->
<!-- </li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
@ -81,6 +57,29 @@
var removeFlag = [[${@permission.hasPermi('base:affairs:remove')}]];
var prefix = ctx + "base/affairs";
if(window.parent.parent){
$("#shotName").val(window.parent.parent._shotName)
}else {
$("#shotName").val('')
}
$(document).ready(function () {
$.ajax({
type: "post",
url: ctx + "base/personnel/personnelList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.id+'">'+d.name+'</option>';
})
$("#head")[0].innerHTML=opt;
$("#reviewed")[0].innerHTML=opt;
}
});
})
$(function() {
var options = {
url: prefix + "/list",
@ -97,14 +96,10 @@
title: '自增ID',
visible: false
},
// {
// field: 'type',
// title: '作用于附件'
// },
// {
// field: 'unit',
// title: '单位名称'
// },
{
field: 'branch',
title: '支部名称'
},
{
field: 'type',
title: '类型'
@ -128,7 +123,7 @@
},
{
field: 'detailed',
title: '评分细则',
title: '工作任务',
width:200,
align: 'center',
formatter: function(value, row, index) {
@ -164,10 +159,6 @@
field: 'finishDate',
title: '完成截止时间'
},
{
field: 'deptName',
title: '部门'
},
{
field: 'remark',
title: '备注'

View File

@ -11,42 +11,22 @@
<div class="select-list">
<ul>
<input type="hidden" name="type" value="日常考核指标"/>
<!-- <li>-->
<!-- <label>单位名称:</label>-->
<!-- <input type="text" name="unit"/>-->
<!-- </li>-->
<li>
<label>考核内容</label>
<input type="text" name="target"/>
<label>简写:</label>
<input type="text" id="shotName" name="shotName"/>
</li>
<li>
<label>考核目标:</label>
<input type="text" name="demand"/>
<label>负责人:</label>
<select name="head" id="head"></select>
</li>
<li>
<label>审核人:</label>
<select name="reviewed" id="reviewed"></select>
</li>
<li>
<label>督办科室:</label>
<select name="deptId" id="deptId"></select>
</li>
<!-- <li>-->
<!-- <label>负责人:</label>-->
<!-- <input type="text" name="head"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核人:</label>-->
<!-- <input type="text" name="reviewed"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>完成截止时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择完成截止时间" name="finishDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>操作人员ID</label>-->
<!-- <input type="text" name="perId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>部门ID</label>-->
<!-- <input type="text" name="deptId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>支部ID</label>-->
<!-- <input type="text" name="branchId"/>-->
<!-- </li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
@ -79,7 +59,37 @@
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('base:affairs:edit')}]];
var removeFlag = [[${@permission.hasPermi('base:affairs:remove')}]];
var prefix = ctx + "base/affairs";
var prefix = ctx + "base/season";
$(document).ready(function () {
$.ajax({
type: "post",
url: ctx + "base/personnel/personnelList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.id+'">'+d.name+'</option>';
})
$("#head")[0].innerHTML=opt;
$("#reviewed")[0].innerHTML=opt;
}
});
$.ajax({
type: "post",
url: ctx + "base/personnel/deptList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.deptId+'">'+d.deptName+'</option>';
})
$("#deptId")[0].innerHTML=opt;
}
});
})
$(function() {
var options = {
@ -97,14 +107,10 @@
title: '自增ID',
visible: false
},
// {
// field: 'type',
// title: '作用于附件'
// },
// {
// field: 'unit',
// title: '单位名称'
// },
{
field: 'branch',
title: '支部名称'
},
{
field: 'type',
title: '类型'
@ -137,7 +143,7 @@
},
{
field: 'detailed',
title: '评分办法',
title: '工作任务',
width:200,
align: 'center',
formatter: function(value, row, index) {
@ -146,14 +152,18 @@
},
{
field: 'score',
title: '分'
title: '达标分'
},
{
field: 'type',
field: 'nowScore',
title: '当前得分'
},
{
field: 'unit',
title: '考核类别'
},
{
field: 'type',
field: 'deptName',
title: '督办科室'
},
{
@ -168,10 +178,6 @@
field: 'finishDate',
title: '完成截止时间'
},
{
field: 'deptName',
title: '部门'
},
{
field: 'remark',
title: '备注'

View File

@ -11,42 +11,18 @@
<div class="select-list">
<ul>
<input id="type0831" type="hidden" name="type" value=""/>
<!-- <li>-->
<!-- <label>单位名称:</label>-->
<!-- <input type="text" name="unit"/>-->
<!-- </li>-->
<li>
<label>责任类别:</label>
<input type="text" name="target"/>
<select id="type" name="type">
<option value="">请选择</option>
<option value="党务及意识形态">党务及意识形态</option>
<option value="党风廉政建设">党风廉政建设</option>
<option value="日常考核指标">日常考核指标</option>
<option value="季度考核指标">季度考核指标</option>
</select>
</li>
<!-- <li>-->
<!-- <label>考核方式:</label>-->
<!-- <input type="text" name="method"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>负责人:</label>-->
<!-- <input type="text" name="head"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核人:</label>-->
<!-- <input type="text" name="reviewed"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>完成截止时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择完成截止时间" name="finishDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>操作人员ID</label>-->
<!-- <input type="text" name="perId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>部门ID</label>-->
<!-- <input type="text" name="deptId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>支部ID</label>-->
<!-- <input type="text" name="branchId"/>-->
<!-- </li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>

View File

@ -12,41 +12,21 @@
<ul>
<input type="hidden" name="type" value="党风廉政建设"/>
<!-- <li>-->
<!-- <label>单位名称</label>-->
<!-- <input type="text" name="unit"/>-->
<!-- <label>责任类别</label>-->
<!-- <input type="text" name="target"/>-->
<!-- </li>-->
<li>
<label>责任类别:</label>
<input type="text" name="target"/>
<label>简写:</label>
<input type="text" id="shotName" name="shotName"/>
</li>
<li>
<label>负责人:</label>
<select name="head" id="head"></select>
</li>
<li>
<label>审核人:</label>
<select name="reviewed" id="reviewed"></select>
</li>
<!-- <li>-->
<!-- <label>考核方式:</label>-->
<!-- <input type="text" name="method"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>负责人:</label>-->
<!-- <input type="text" name="head"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核人:</label>-->
<!-- <input type="text" name="reviewed"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>完成截止时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择完成截止时间" name="finishDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>操作人员ID</label>-->
<!-- <input type="text" name="perId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>部门ID</label>-->
<!-- <input type="text" name="deptId"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>支部ID</label>-->
<!-- <input type="text" name="branchId"/>-->
<!-- </li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
@ -81,6 +61,23 @@
var removeFlag = [[${@permission.hasPermi('base:affairs:remove')}]];
var prefix = ctx + "base/affairs";
$(document).ready(function () {
$.ajax({
type: "post",
url: ctx + "base/personnel/personnelList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.id+'">'+d.name+'</option>';
})
$("#head")[0].innerHTML=opt;
$("#reviewed")[0].innerHTML=opt;
}
});
})
$(function() {
var options = {
url: prefix + "/list",
@ -97,14 +94,10 @@
title: '自增ID',
visible: false
},
// {
// field: 'type',
// title: '作用于附件'
// },
// {
// field: 'unit',
// title: '单位名称'
// },
{
field: 'branch',
title: '支部名称'
},
{
field: 'type',
title: '类型'
@ -122,27 +115,27 @@
field: 'shotName',
title: '简写'
},
{
field: 'demand',
title: '目标要求',
width:200,
align: 'center',
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
field: 'detailed',
title: '指标明细',
width:200,
align: 'center',
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
field: 'demand',
title: '目标要求',
width:200,
align: 'center',
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
field: 'detailed',
title: '工作任务',
width:200,
align: 'center',
formatter: function(value, row, index) {
return $.table.tooltip(value);
}
},
{
field: 'score',
title: '总分值'
title: '达标分'
},
{
field: 'nowScore',
@ -150,7 +143,7 @@
},
{
field: 'method',
title: '考核要求',
title: '考核方式',
width:200,
align: 'center',
formatter: function(value, row, index) {
@ -169,10 +162,6 @@
field: 'finishDate',
title: '完成截止时间'
},
{
field: 'deptName',
title: '部门'
},
{
field: 'remark',
title: '备注'

View File

@ -10,18 +10,22 @@
<form id="formId">
<div class="select-list">
<ul>
<input type="hidden" name="type" value="年度考核指标"/>
<!-- <li>-->
<!-- <label>单位名称:</label>-->
<!-- <input type="text" name="unit"/>-->
<!-- </li>-->
<input type="hidden" name="type" value="季度考核指标"/>
<li>
<label>考核内容</label>
<input type="text" name="target"/>
<label>简写:</label>
<input type="text" id="shotName" name="shotName"/>
</li>
<li>
<label>考核目标:</label>
<input type="text" name="demand"/>
<label>负责人:</label>
<select name="head" id="head"></select>
</li>
<li>
<label>审核人:</label>
<select name="reviewed" id="reviewed"></select>
</li>
<li>
<label>督办科室:</label>
<select name="deptId" id="deptId"></select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@ -55,7 +59,37 @@
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('base:affairs:edit')}]];
var removeFlag = [[${@permission.hasPermi('base:affairs:remove')}]];
var prefix = ctx + "base/affairs";
var prefix = ctx + "base/season";
$(document).ready(function () {
$.ajax({
type: "post",
url: ctx + "base/personnel/personnelList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.id+'">'+d.name+'</option>';
})
$("#head")[0].innerHTML=opt;
$("#reviewed")[0].innerHTML=opt;
}
});
$.ajax({
type: "post",
url: ctx + "base/personnel/deptList",
data: {
},
success: function(data) {
var opt = '<option value="">请选择</option>';
data.data.forEach(d=>{
opt += '<option value="'+d.deptId+'">'+d.deptName+'</option>';
})
$("#deptId")[0].innerHTML=opt;
}
});
})
$(function() {
var options = {
@ -73,14 +107,10 @@
title: '自增ID',
visible: false
},
// {
// field: 'type',
// title: '作用于附件'
// },
// {
// field: 'unit',
// title: '单位名称'
// },
{
field: 'branch',
title: '支部名称'
},
{
field: 'type',
title: '类型'
@ -125,11 +155,15 @@
title: '分值'
},
{
field: 'type',
field: 'nowScore',
title: '当前得分'
},
{
field: 'unit',
title: '考核类别'
},
{
field: 'type',
field: 'deptName',
title: '督办科室'
},
{
@ -144,10 +178,6 @@
field: 'finishDate',
title: '完成截止时间'
},
{
field: 'deptName',
title: '部门'
},
{
field: 'remark',
title: '备注'

View File

@ -252,6 +252,12 @@
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
//通过点击事件,传递参数刷新中间表格数据
chart.on('click', function (params) {
console.log(params, 'params')
window.parent._shotName = params.name;
$.modal.openTab("党务及意识形态", prefix + '',true);
})
}
})
};

View File

@ -21,25 +21,6 @@ public class BaseEntity implements Serializable
@JsonIgnore
private String searchValue;
private Integer pageNum;
private Integer pageSize;
public Integer getPageNum() {
return pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
/** 创建者 */
private String createBy;

View File

@ -31,7 +31,7 @@ public class PageUtils extends PageHelper
public static void startPage(Integer pageNum,Integer pageSize)
{
PageDomain pageDomain = TableSupport.buildPageRequest();
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
// if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
{
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
//Boolean reasonable = pageDomain.getReasonable();

View File

@ -0,0 +1,189 @@
<?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.cyx.web.base.mapper.TAmentDaySeasonMapper">
<resultMap type="TAmentDaySeason" id="TAmentDaySeasonResult">
<result property="id" column="id" />
<result property="type" column="type" />
<result property="shotName" column="shot_name" />
<result property="unit" column="unit" />
<result property="target" column="target" />
<result property="demand" column="demand" />
<result property="degree" column="degree" />
<result property="detailed" column="detailed" />
<result property="score" column="score" />
<result property="method" column="method" />
<result property="status" column="status" />
<result property="head" column="head" />
<result property="reviewed" column="reviewed" />
<result property="finishDate" column="finish_date" />
<result property="perId" column="per_id" />
<result property="deptId" column="dept_id" />
<result property="branchId" column="branch_id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="files" column="files" />
<result property="nowScore" column="now_score" />
<result property="commitId" column="commit_id" />
<result property="reviewedId" column="reviewed_id" />
<result property="times" column="times" />
</resultMap>
<sql id="selectTAmentDaySeasonVo">
select id, type, shot_name, unit, target, demand, degree, detailed, score, method, status, head, reviewed, finish_date, per_id, dept_id, branch_id, create_by, create_time, update_by, update_time, remark, files, now_score, commit_id, reviewed_id, times from t_ament_day_season
</sql>
<select id="selectTAmentDaySeasonList" parameterType="TAmentDaySeason" resultMap="TAmentDaySeasonResult">
SELECT
a.*,
ROUND( a.now_score / a.score * 100 ) percent,
a.shot_name shotName,
a.now_score nowScore,
b.`name` oprator,
c.`name` reviewer,
d.`name` header,
e.branch_name branch,
f.dept_name deptName
FROM
t_ament_day_season a
LEFT JOIN t_ament_personnel b ON a.per_id = b.id
LEFT JOIN t_ament_personnel c ON a.reviewed = c.id
LEFT JOIN t_ament_personnel d ON a.head = d.id
LEFT JOIN t_ament_branch e ON a.branch_id = e.branch_id
LEFT JOIN sys_dept f ON a.dept_id = f.dept_id
<where>
<if test="id != null and id != ''"> and a.id = #{id}</if>
<if test="type != null and type != ''"> and a.type = #{type}</if>
<if test="shotName != null and shotName != ''"> and a.shot_name = #{shotName}</if>
<if test="unit != null and unit != ''"> and a.unit = #{unit}</if>
<if test="target != target and target != ''"> and a.target = #{target}</if>
<if test="demand != null and demand != ''">
AND a.demand like concat('%', #{demand}, '%')
</if>
<if test="detailed != null and detailed != ''"> and a.detailed = #{detailed}</if>
<if test="score != null and score != ''"> and a.score = #{score}</if>
<if test="method != null and method != ''"> and a.method = #{method}</if>
<if test="head != null and head != ''"> and a.head = #{head}</if>
<if test="reviewed != null and reviewed != ''"> and a.reviewed = #{reviewed}</if>
<if test="finishDate != null "> and a.finish_date = #{finishDate}</if>
<if test="perId != null "> and a.per_id = #{perId}</if>
<if test="deptId != null "> and a.dept_id = #{deptId}</if>
<if test="branchId != null "> and a.branch_id = #{branchId}</if>
</where>
</select>
<select id="selectTAmentDaySeasonById" parameterType="Long" resultMap="TAmentDaySeasonResult">
<include refid="selectTAmentDaySeasonVo"/>
where id = #{id}
</select>
<insert id="insertTAmentDaySeason" parameterType="TAmentDaySeason" useGeneratedKeys="true" keyProperty="id">
insert into t_ament_day_season
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null and type != ''">type,</if>
<if test="shotName != null">shot_name,</if>
<if test="unit != null">unit,</if>
<if test="target != null">target,</if>
<if test="demand != null">demand,</if>
<if test="degree != null">degree,</if>
<if test="detailed != null">detailed,</if>
<if test="score != null">score,</if>
<if test="method != null">method,</if>
<if test="status != null">status,</if>
<if test="head != null and head != ''">head,</if>
<if test="reviewed != null">reviewed,</if>
<if test="finishDate != null">finish_date,</if>
<if test="perId != null">per_id,</if>
<if test="deptId != null">dept_id,</if>
<if test="branchId != null">branch_id,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="files != null">files,</if>
<if test="nowScore != null">now_score,</if>
<if test="commitId != null">commit_id,</if>
<if test="reviewedId != null">reviewed_id,</if>
<if test="times != null">times,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="type != null and type != ''">#{type},</if>
<if test="shotName != null">#{shotName},</if>
<if test="unit != null">#{unit},</if>
<if test="target != null">#{target},</if>
<if test="demand != null">#{demand},</if>
<if test="degree != null">#{degree},</if>
<if test="detailed != null">#{detailed},</if>
<if test="score != null">#{score},</if>
<if test="method != null">#{method},</if>
<if test="status != null">#{status},</if>
<if test="head != null and head != ''">#{head},</if>
<if test="reviewed != null">#{reviewed},</if>
<if test="finishDate != null">#{finishDate},</if>
<if test="perId != null">#{perId},</if>
<if test="deptId != null">#{deptId},</if>
<if test="branchId != null">#{branchId},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="files != null">#{files},</if>
<if test="nowScore != null">#{nowScore},</if>
<if test="commitId != null">#{commitId},</if>
<if test="reviewedId != null">#{reviewedId},</if>
<if test="times != null">#{times},</if>
</trim>
</insert>
<update id="updateTAmentDaySeason" parameterType="TAmentDaySeason">
update t_ament_day_season
<trim prefix="SET" suffixOverrides=",">
<if test="type != null and type != ''">type = #{type},</if>
<if test="shotName != null">shot_name = #{shotName},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="target != null">target = #{target},</if>
<if test="demand != null">demand = #{demand},</if>
<if test="degree != null">degree = #{degree},</if>
<if test="detailed != null">detailed = #{detailed},</if>
<if test="score != null">score = #{score},</if>
<if test="method != null">method = #{method},</if>
<if test="status != null">status = #{status},</if>
<if test="head != null and head != ''">head = #{head},</if>
<if test="reviewed != null">reviewed = #{reviewed},</if>
<if test="finishDate != null">finish_date = #{finishDate},</if>
<if test="perId != null">per_id = #{perId},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="branchId != null">branch_id = #{branchId},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="files != null">files = #{files},</if>
<if test="nowScore != null">now_score = #{nowScore},</if>
<if test="commitId != null">commit_id = #{commitId},</if>
<if test="reviewedId != null">reviewed_id = #{reviewedId},</if>
<if test="times != null">times = #{times},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteTAmentDaySeasonById" parameterType="Long">
delete from t_ament_day_season where id = #{id}
</delete>
<delete id="deleteTAmentDaySeasonByIds" parameterType="String">
delete from t_ament_day_season where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -54,8 +54,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if test="id != null and id != ''"> and a.id = #{id}</if>
<if test="type != null and type != ''"> and a.type = #{type}</if>
<if test="shotName != null and shotName != ''"> and a.shot_name = #{shotName}</if>
<if test="unit != null and unit != ''"> and a.unit = #{unit}</if>
<if test="unit != target and target != ''"> and a.target = #{target}</if>
<if test="target != null and target != ''"> and a.target = #{target}</if>
<!-- <if test="target != null and target != ''">-->
<!-- AND a.target like concat('%', #{target}, '%')-->
<!-- </if>-->
@ -271,7 +272,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN t_ament_branch e ON a.branch_id = e.branch_id
LEFT JOIN sys_dept f ON a.dept_id = f.dept_id
where
<if test="type != null and type != ''"> a.type = #{type}</if>
1=1
<if test="type != null and type != ''"> and a.type = #{type}</if>
GROUP BY
a.type,
a.shot_name