diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java new file mode 100644 index 00000000..7f76e4d3 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java @@ -0,0 +1,296 @@ +package com.xm.core.ctrl; + +import java.util.*; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; + +import static com.mdp.core.utils.ResponseHelper.*; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; +import com.mdp.mybatis.PageUtils; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.NumberUtil; +import com.mdp.safe.client.entity.User; +import com.mdp.safe.client.utils.LoginUtils; +import com.mdp.swagger.ApiEntityParams; +import springfox.documentation.annotations.ApiIgnore; + +import com.xm.core.service.XmRptConfigService; +import com.xm.core.entity.XmRptConfig; + +/** + * url编制采用rest风格,如对xm_rpt_config 测试报告配置表的操作有增删改查,对应的url分别为:
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmRptConfig 表 xm_rpt_config 当前主键(包括多主键): id; + ***/ +@RestController("xm.core.xmRptConfigController") +@RequestMapping(value="/**/core/xmRptConfig") +@Api(tags={"测试报告配置表操作接口"}) +public class XmRptConfigController { + + static Logger logger =LoggerFactory.getLogger(XmRptConfigController.class); + + @Autowired + private XmRptConfigService xmRptConfigService; + + + Map fieldsMap = toMap(new XmRptConfig()); + + + @ApiOperation( value = "查询测试报告配置表信息列表",notes=" ") + @ApiEntityParams( XmRptConfig.class ) + @ApiImplicitParams({ + @ApiImplicitParam(name="pageSize",value="每页大小,默认20条",required=false), + @ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false), + @ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false), + @ApiImplicitParam(name="count",value="是否计算总记录条数,如果count=true,则计算计算总条数,如果count=false 则不计算",required=false), + @ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student desc",required=false), + }) + @ApiResponses({ + @ApiResponse(code = 200,response=XmRptConfig.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list",method=RequestMethod.GET) + public Map listXmRptConfig( @ApiIgnore @RequestParam Map xmRptConfig){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + RequestUtils.transformArray(xmRptConfig, "ids"); + PageUtils.startPage(xmRptConfig); + List> xmRptConfigList = xmRptConfigService.selectListMapByWhere(xmRptConfig); //列出XmRptConfig列表 + PageUtils.responePage(m, xmRptConfigList); + m.put("data",xmRptConfigList); + + m.put("tips", tips); + return m; + } + + + + /** + @ApiOperation( value = "新增一条测试报告配置表信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmRptConfig.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/add",method=RequestMethod.POST) + public Map addXmRptConfig(@RequestBody XmRptConfig xmRptConfig) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功新增一条数据"); + try{ + boolean createPk=false; + if(!StringUtils.hasText(xmRptConfig.getId())) { + createPk=true; + xmRptConfig.setId(xmRptConfigService.createKey("id")); + } + if(createPk==false){ + if(xmRptConfigService.selectOneObject(xmRptConfig) !=null ){ + return failed("pk-exists","编号重复,请修改编号再提交"); + } + } + xmRptConfigService.insert(xmRptConfig); + m.put("data",xmRptConfig); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "删除一条测试报告配置表信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") + }) + @RequestMapping(value="/del",method=RequestMethod.POST) + public Map delXmRptConfig(@RequestBody XmRptConfig xmRptConfig){ + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除一条数据"); + try{ + if(!StringUtils.hasText(xmRptConfig.getId())) { + return failed("pk-not-exists","请上送主键参数id"); + } + XmRptConfig xmRptConfigDb = xmRptConfigService.selectOneObject(xmRptConfig); + if( xmRptConfigDb == null ){ + return failed("data-not-exists","数据不存在,无法删除"); + } + xmRptConfigService.deleteByPk(xmRptConfig); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "根据主键修改一条测试报告配置表信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmRptConfig.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/edit",method=RequestMethod.POST) + public Map editXmRptConfig(@RequestBody XmRptConfig xmRptConfig) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + if(!StringUtils.hasText(xmRptConfig.getId())) { + return failed("pk-not-exists","请上送主键参数id"); + } + XmRptConfig xmRptConfigDb = xmRptConfigService.selectOneObject(xmRptConfig); + if( xmRptConfigDb == null ){ + return failed("data-not-exists","数据不存在,无法修改"); + } + xmRptConfigService.updateSomeFieldByPk(xmRptConfig); + m.put("data",xmRptConfig); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "批量修改某些字段",notes="") + @ApiEntityParams( value = XmRptConfig.class, props={ }, remark = "测试报告配置表", paramType = "body" ) + @ApiResponses({ + @ApiResponse(code = 200,response=XmRptConfig.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/editSomeFields",method=RequestMethod.POST) + public Map editSomeFields( @ApiIgnore @RequestBody Map xmRptConfigMap) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + List ids= (List) xmRptConfigMap.get("ids"); + if(ids==null || ids.size()==0){ + return failed("ids-0","ids不能为空"); + } + + Set fields=new HashSet<>(); + fields.add("id"); + for (String fieldName : xmRptConfigMap.keySet()) { + if(fields.contains(fieldName)){ + return failed(fieldName+"-no-edit",fieldName+"不允许修改"); + } + } + Set fieldKey=xmRptConfigMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet()); + fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmRptConfigMap.get(i) )).collect(Collectors.toSet()); + + if(fieldKey.size()<=0) { + return failed("fieldKey-0","没有需要更新的字段"); + } + XmRptConfig xmRptConfig = fromMap(xmRptConfigMap,XmRptConfig.class); + List xmRptConfigsDb=xmRptConfigService.selectListByIds(ids); + if(xmRptConfigsDb==null ||xmRptConfigsDb.size()==0){ + return failed("data-0","记录已不存在"); + } + List can=new ArrayList<>(); + List no=new ArrayList<>(); + User user = LoginUtils.getCurrentUserInfo(); + for (XmRptConfig xmRptConfigDb : xmRptConfigsDb) { + Tips tips2 = new Tips("检查通过"); + if(!tips2.isOk()){ + no.add(xmRptConfigDb); + }else{ + can.add(xmRptConfigDb); + } + } + if(can.size()>0){ + xmRptConfigMap.put("ids",can.stream().map(i->i.getId()).collect(Collectors.toList())); + xmRptConfigService.editSomeFields(xmRptConfigMap); + } + List msgs=new ArrayList<>(); + if(can.size()>0){ + msgs.add(String.format("成功更新以下%s条数据",can.size())); + } + if(no.size()>0){ + msgs.add(String.format("以下%s个数据无权限更新",no.size())); + } + if(can.size()>0){ + tips.setOkMsg(msgs.stream().collect(Collectors.joining())); + }else { + tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); + } + //m.put("data",xmMenu); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "根据主键列表批量删除测试报告配置表信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/batchDel",method=RequestMethod.POST) + public Map batchDelXmRptConfig(@RequestBody List xmRptConfigs) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除"); + try{ + if(xmRptConfigs.size()<=0){ + return failed("data-0","请上送待删除数据列表"); + } + List datasDb=xmRptConfigService.selectListByIds(xmRptConfigs.stream().map(i-> i.getId() ).collect(Collectors.toList())); + + List can=new ArrayList<>(); + List no=new ArrayList<>(); + for (XmRptConfig data : datasDb) { + if(true){ + can.add(data); + }else{ + no.add(data); + } + } + List msgs=new ArrayList<>(); + if(can.size()>0){ + xmRptConfigService.batchDelete(can); + msgs.add(String.format("成功删除%s条数据.",can.size())); + } + + if(no.size()>0){ + msgs.add(String.format("以下%s条数据不能删除.【%s】",no.size(),no.stream().map(i-> i.getId() ).collect(Collectors.joining(",")))); + } + if(can.size()>0){ + tips.setOkMsg(msgs.stream().collect(Collectors.joining())); + }else { + tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); + } + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ +} diff --git a/xm-core/src/main/java/com/xm/core/entity/XmRptConfig.java b/xm-core/src/main/java/com/xm/core/entity/XmRptConfig.java new file mode 100644 index 00000000..a670c084 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/entity/XmRptConfig.java @@ -0,0 +1,59 @@ +package com.xm.core.entity; + +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; + +/** + * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmRptConfig所有属性名:
+ * "bizId","业务编号","id","报告编号","name","报告名称","cuserid","创建人","cusername","创建人姓名","ctime","创建时间","cbranchId","创建机构","cfg","报告配置项";
+ * 当前主键(包括多主键):
+ * id;
+ */ + @Data +@ApiModel(description="测试报告配置表") +public class XmRptConfig implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="报告编号,主键",allowEmptyValue=true,example="",allowableValues="") + String id; + + + @ApiModelProperty(notes="业务编号",allowEmptyValue=true,example="",allowableValues="") + String bizId; + + @ApiModelProperty(notes="报告名称",allowEmptyValue=true,example="",allowableValues="") + String name; + + @ApiModelProperty(notes="创建人",allowEmptyValue=true,example="",allowableValues="") + String cuserid; + + @ApiModelProperty(notes="创建人姓名",allowEmptyValue=true,example="",allowableValues="") + String cusername; + + @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") + Date ctime; + + @ApiModelProperty(notes="创建机构",allowEmptyValue=true,example="",allowableValues="") + String cbranchId; + + @ApiModelProperty(notes="报告配置项",allowEmptyValue=true,example="",allowableValues="") + String cfg; + + /** + *报告编号 + **/ + public XmRptConfig(String id) { + this.id = id; + } + + /** + * 测试报告配置表 + **/ + public XmRptConfig() { + } + +} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/service/XmRptConfigService.java b/xm-core/src/main/java/com/xm/core/service/XmRptConfigService.java new file mode 100644 index 00000000..00f430c0 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/service/XmRptConfigService.java @@ -0,0 +1,24 @@ +package com.xm.core.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.List; +import java.util.Map; +import org.springframework.stereotype.Service; +import com.mdp.core.service.BaseService; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; + +import com.xm.core.entity.XmRptConfig; +/** + * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmRptConfig 表 xm_rpt_config 当前主键(包括多主键): id; + ***/ +@Service("xm.core.xmRptConfigService") +public class XmRptConfigService extends BaseService { + static Logger logger =LoggerFactory.getLogger(XmRptConfigService.class); + +} + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmRptConfigMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmRptConfigMapper.xml new file mode 100644 index 00000000..d0d14c15 --- /dev/null +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmRptConfigMapper.xml @@ -0,0 +1,188 @@ + + + + + + + + + and (res.id) in + + ( #{item}) + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_rpt_config( + + ) values ( + #{bizId},#{id},#{name},#{cuserid},#{cusername},#{ctime},#{cbranchId},#{cfg} + ) + + + + + delete from xm_rpt_config res + + + + + + + + delete from xm_rpt_config + where id = #{id} + + + + + update xm_rpt_config + + + + where id = #{id} + + + + + update xm_rpt_config + + + + where id = #{id} + + + + + + + + update xm_rpt_config + set + + where id = #{item.id} + + + + + + update xm_rpt_config + + + + where (id) in + + ( #{item}) + + + + + delete from xm_rpt_config + where + (id) in + + ( #{item.id} ) + + + + + + + biz_id,id,name,cuserid,cusername,ctime,cbranch_id,cfg + + + + + and res.biz_id = #{bizId} + and res.id = #{id} + and res.name = #{name} + and res.cuserid = #{cuserid} + and res.cusername = #{cusername} + and date_format(res.ctime,'%Y-%m-%d') = date_format(#{ctime},'%Y-%m-%d') + and res.cbranch_id = #{cbranchId} + and res.cfg = #{cfg} + + + + biz_id = #{bizId}, + name = #{name}, + cuserid = #{cuserid}, + cusername = #{cusername}, + ctime = #{ctime}, + cbranch_id = #{cbranchId}, + cfg = #{cfg} + + + biz_id = #{bizId}, + name = #{name}, + cuserid = #{cuserid}, + cusername = #{cusername}, + ctime = #{ctime}, + cbranch_id = #{cbranchId}, + cfg = #{cfg}, + + + + biz_id = #{item.bizId}, + name = #{item.name}, + cuserid = #{item.cuserid}, + cusername = #{item.cusername}, + ctime = #{item.ctime}, + cbranch_id = #{item.cbranchId}, + cfg = #{item.cfg} + + \ No newline at end of file