业务字典模块业务代码

This commit is contained in:
little-cat-sweet 2021-07-30 11:10:47 +08:00
parent 0a3d17eb43
commit 7b74f6b138
8 changed files with 918 additions and 1 deletions

View File

@ -2,13 +2,18 @@ package com.xhpc.general.controller;
import com.xhpc.common.core.web.controller.BaseController;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.core.web.page.TableDataInfo;
import com.xhpc.general.domain.XhpcDictionary;
import com.xhpc.general.service.IXhpcDictBizService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 业务字典Controller
*
@ -32,5 +37,141 @@ public class XhpcDictBizController extends BaseController {
return AjaxResult.success(xhpcDictBizService.getCode(code));
}
/**Adding a parent item to the table(xhpc_dict_biz)
*
* @param name the dictionary's name
* @param code the dictionary's code
* @param sort the dictionary's sortValue
* @return
*/
@PostMapping("/addMainItem")
public AjaxResult addMainDictionaryItem(String name, String code, Integer sort){
return xhpcDictBizService.addADictionaryItem(name,code,sort);
}
/**
* Getting a dictionary data.
*
* @param id The id is map to dictionary table is dict_biz_id.
* @return
*/
@GetMapping("/getDictionaryItem")
public AjaxResult getADictionaryItem(Long id){
return AjaxResult.success(xhpcDictBizService.selectDictionaryItem(id));
}
/**
* Adding a childItem to the table(xhpc_dict_biz)
* @param parentId
* @param code
* @param dictKey
* @param dictValue
* @return
*/
@PostMapping("/addDetailItem")
public AjaxResult addDetailDictionaryItem(Long parentId, String code, String dictKey, String dictValue,Integer sort){
return xhpcDictBizService.addAChildDictionaryItem(parentId, code, dictKey, dictValue, sort);
}
/**
* Deleting a dictionary item by id(dict_biz_id)
* @param id
* @return
*/
@PostMapping("/deleteChildDictionaryItem")
public AjaxResult deleteChildDictionaryItem(Long id){
return xhpcDictBizService.deleteChildDictionaryItem(id);
}
@PostMapping("/deleteFather")
public AjaxResult deleteParentItem(Long id){
return xhpcDictBizService.deleteParentItem(id);
}
/**
* Getting a list of the parent dict items by code and name.
* @param code
* @param name
* @return
*/
@GetMapping("/getParentItems")
public TableDataInfo getSearchParentResult(String code, String name ){
startPage();
List<XhpcDictionary> list = xhpcDictBizService.getMainItems(code,name);
return getDataTable(list);
}
/**
* Getting a list of the child dict items by code,code,parentId.
* @param parentId
* @param code
* @param name
* @return
*/
@GetMapping("/getChildItems")
public TableDataInfo getSearchChildResult(Long parentId, String code, String name){
startPage();
List<XhpcDictionary> list=xhpcDictBizService.getDetailsItems(parentId, code, name);
return getDataTable(list);
}
/**
* Updating the main item by code,dictValue,sort
* @param dictBizId
* @param code
* @param keyValue the item's name
* @param sort
* @return
*/
@PostMapping("/updateFatherItem")
public AjaxResult updateFatherItem(Long dictBizId,String code,String keyValue,Integer sort){
return xhpcDictBizService.updateMainItem(dictBizId, code, keyValue, sort);
}
/**
* Updating the child item.
* @param parentId
* @param id
* @param value
* @param key
* @param sort
* @return
*/
@PostMapping("/updateChildItem")
public AjaxResult updateChildItem(Long parentId,Long id, String value, String key,Integer sort ){
return xhpcDictBizService.updateChildItem(parentId, id, value, key, sort);
}
/**
* Deleting a bundle of child item.
* @param ids
* @return
*/
@PostMapping("/deleteChildItems")
public AjaxResult deletChildItems(String ids){
return xhpcDictBizService.deleteChildItems(ids);
}
@PostMapping("/deleteParentItems")
public AjaxResult deleteParentItems(String ids){
return xhpcDictBizService.deleteParentItems(ids);
}
}

View File

@ -0,0 +1,79 @@
package com.xhpc.general.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
/**
* This is a data entity of dictionary.
* program: ruoyi
* User: HongYun
* Date:2021-07-27 11
*/
public class XhpcDictionary extends BaseEntity {
private Long dictBizId;
private Long parentId;
private String code;
private String dictKey;
private String dictValue;
private Integer sort;
private Integer delFlag;
public String getCode() {
return code;
}
/**
* This is the dictionary's code.
* @param code
*/
public void setCode(String code) {
this.code = code;
}
public String getDictKey() {
return dictKey;
}
public void setDictKey(String dictKey) {
this.dictKey = dictKey;
}
public String getDictValue() {
return dictValue;
}
public void setDictValue(String dictValue) {
this.dictValue = dictValue;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public Long getDictBizId() {
return dictBizId;
}
public void setDictBizId(Long dictBizId) {
this.dictBizId = dictBizId;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
}

View File

@ -1,6 +1,8 @@
package com.xhpc.general.mapper;
import com.xhpc.common.domain.XhpcDictBiz;
import com.xhpc.general.domain.XhpcDictionary;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -20,4 +22,122 @@ public interface XhpcDictBizMapper {
*/
public List<XhpcDictBiz> getCode(String code);
/**
* Ensuring the parent name is unique.
* @param name is dict_value.
* @return
*/
int countParentNameColumns(@Param("id")Long id, @Param("name") String name);
/**
* This is to ensure the child keyValue is unique
* @param id
* @param name
* @return
*/
int countSameParentChildNameColumns(@Param("id") Long id,@Param("name") String name);
/**
* Adding a item to the table(xhpc_dict_biz)
* @param name the dictionary's name
* @param code the dictionary's code
*
*/
void insertAParentItemToTable(@Param("name") String name,@Param("code") String code,@Param("sort") Integer sort);
/**
* Getting a dictionary data.
*
* The id map to dictionary table is dict_biz_id.
* @param id
* @return
*/
XhpcDictionary selectADictionaryItem(@Param("id") Long id);
/**
* Adding a childIem to the table(xhpc_dict_biz)
* @param parentId
* @param code
* @param dictKey
* @param dictValue
* @return
*/
void insertAChildItemToTable(@Param("id")Long parentId,@Param("code") String code,@Param("dictKey") String dictKey,@Param("dictValue") String dictValue,@Param("sore") Integer sort);
/**
* Deleting a dictionary item by id(dict_biz_id)
* @param id
* @return
*/
int deleteChildDictionaryItemById(@Param("id") Long id);
void deleteChildItemsFollowParent(@Param("id") Long id);
/**
* Getting a list of the parent dict items by code and name.
* @param code
* @param name
* @return
*/
List<XhpcDictionary> selectParentDictionaryItemsByCodeAndName(@Param("code")String code,@Param("name") String name);
/**
* Getting a list of the child dict items by code,code,parentId.
* @param parentId
* @param code
* @param name
* @return
*/
List<XhpcDictionary> selectChildDictionaryItemsByCodeAndName(@Param("id") Long parentId, @Param("code") String code, @Param("name") String name);
/**
* Updating the main item by code,dictValue,sort
* @param dictBizId
* @param code
* @param keyValue the item's name
* @param sort
* @return
*/
int updateParentItemByCodeDictValueSort(@Param("id") Long id,@Param("code") String code,@Param("dictValue") String dictValue,@Param("sort") Integer sort);
/**
* Updating the child item's dict_value, after their father item has changed its dict_value.
* @param dictBizId
* @param value
*/
void updateChildValue(@Param("id") Long dictBizId,@Param("code") String code);
/**
* Updating a child item by value,key.
* @param id
* @param value
* @param key
* @return
*/
int updateChildItem(@Param("id") Long id,@Param("value") String value,@Param("key") String key,@Param("sort") Integer sort);
/**
* Deleting a bundle of child item.
* @param ids
* @return
*/
int deleteChildItemByIds(@Param("ids") List<Long> ids);
/**
* Deleting a bundle of child item after their parent has been died.
* @param ids
* @return
*/
int deleteChildItemsAfterTheirParentDied(@Param("ids") List<Long> ids);
/**
* Getting parent's name's quantity.
* @param name
* @return
*/
int countParentNameQuantity(@Param("name") String name);
void updateChildCodeAfterParentChanged(@Param("code") String code,@Param("id") Long id);
}

View File

@ -0,0 +1,40 @@
package com.xhpc.general.mapper;
import org.apache.ibatis.annotations.Param;
/**
* program: Getting the quantity of one column's rows.
* User: HongYun
* Date:2021-07-28 15
*/
public interface XhpcDictBizQuantityCheckMapper {
/**
* Ensuring the father's code is unique.
* @param code
* @return
*/
int countCodeRows(@Param("code") String code);
/**
* Ensuring the child's keyValue is unique.
* @param parentId
* @param key Value
* @return
*/
int countSameParentChildValueColumns(@Param("id") Long parentId, @Param("key") String key);
int countSameParentChildKeyColumns(@Param("id") Long parentId, @Param("key") String key);
/**
* Judging the name whether has existed in father items.
* @param name
* @return
*/
int countParentName(@Param("name") String name);
}

View File

@ -1,6 +1,8 @@
package com.xhpc.general.service;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.domain.XhpcDictBiz;
import com.xhpc.general.domain.XhpcDictionary;
import java.util.List;
@ -19,4 +21,93 @@ public interface IXhpcDictBizService {
* @return 电站
*/
public List<XhpcDictBiz> getCode(String code);
/**Adding a parent item to the table(xhpc_dict_biz)
*
* @param name the dictionary's name
* @param code the dictionary's code
* @param sort the dictionary's sortValue
* @return
*/
AjaxResult addADictionaryItem(String name, String code, Integer sort);
/**
* Getting a dictionary data.
*
* The id map to dictionary table is dict_biz_id.
* @param id
* @return
*/
AjaxResult selectDictionaryItem(Long id);
/**
* Adding a childIem to the table(xhpc_dict_biz)
* @param parentId
* @param code
* @param dictKey
* @param dictValue
* @return
*/
AjaxResult addAChildDictionaryItem(Long parentId,String code,String dictKey,String dictValue,Integer sort);
/**
* Deleting a dictionary item by id(dict_biz_id)
* @param id
* @return
*/
AjaxResult deleteChildDictionaryItem(Long id);
AjaxResult deleteParentItem(Long id);
/**
* Getting a list of the parent dict items by code and name.
* @param code
* @param name
* @return
*/
List<XhpcDictionary> getMainItems(String code,String name);
/**
* Getting a list of the child dict items by code,code,parentId.
* @param parentId
* @param code
* @param name
* @return
*/
List<XhpcDictionary> getDetailsItems(Long parentId, String code, String name);
/**
* Updating the main item by code,dictValue,sort
* @param dictBizId
* @param code
* @param keyValue the item's name
* @param sort
* @return
*/
AjaxResult updateMainItem(Long id,String code,String dictValue,Integer sort);
/**
* Updating a child item by value,key.
* @param parentId
* @param id
* @param value
* @param key
* @Param sort
* @return
*/
AjaxResult updateChildItem(Long parentId, Long id, String value, String key, Integer sort);
/**
* Deleting a bundle of child item.
* @param ids
* @return
*/
AjaxResult deleteChildItems(String ids);
/**
* Deleting a bundle of parent item.
*/
AjaxResult deleteParentItems(String ids);
}

View File

@ -1,10 +1,15 @@
package com.xhpc.general.service;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.domain.XhpcDictBiz;
import com.xhpc.general.domain.XhpcDictionary;
import com.xhpc.general.mapper.XhpcDictBizMapper;
import com.xhpc.general.mapper.XhpcDictBizQuantityCheckMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
@ -19,9 +24,334 @@ public class XhpcDictBizServiceImpl implements IXhpcDictBizService{
@Autowired
private XhpcDictBizMapper xhpcDictBizMapper;
@Autowired
private XhpcDictBizQuantityCheckMapper xhpcDictBizQuantityCheckMapper;
@Override
public List<XhpcDictBiz> getCode(String code) {
return xhpcDictBizMapper.getCode(code);
}
@Transactional
@Override
public AjaxResult addADictionaryItem(String name, String code, Integer sort) {
//Ensure the parameter is not null.
if(name==null){
return AjaxResult.error("字典名称不能为空");
}
if(code==null){
return AjaxResult.error("字典编码不能为空");
}
if(sort==null){
return AjaxResult.error("字典排序不能为空");
}
//Ensuring the sort's size is bigger than 0
if(sort<1){
return AjaxResult.error("字典排序必须大于0");
}
//Ensuring the length of parameter's is correct.
if(name.length()>255){
return AjaxResult.error("字典名称的长度不能大于255");
}
if(code.length()>255){
return AjaxResult.error("字典编码的长度不能大于255");
}
if(String.valueOf(sort).length()>11){
return AjaxResult.error("字典排序的长度不能大于11");
}
//Ensuring the code whether has existed.
int quantity=xhpcDictBizQuantityCheckMapper.countCodeRows(code);
if(quantity>0){
return AjaxResult.error("您输入的字符编码已经存在");
}
//Ensuring the name(dict_value) has existed.
int size=xhpcDictBizMapper.countParentNameQuantity(name);
if(size>0){
return AjaxResult.error("您输入的字符名称已经存在");
}else {
xhpcDictBizMapper.insertAParentItemToTable(name,code,sort);
}
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult selectDictionaryItem(Long id) {
XhpcDictionary xhpcDictionary=xhpcDictBizMapper.selectADictionaryItem(id);
if(xhpcDictionary==null){
return AjaxResult.error("该字典不存在");
}
return AjaxResult.success(xhpcDictionary);
}
@Override
@Transactional
public AjaxResult addAChildDictionaryItem(Long parentId, String code, String dictKey, String dictValue,Integer sort) {
if(code==null){
return AjaxResult.error("字典编码不能为空");
}
code=code.trim();
if(code.equals("")){
return AjaxResult.error("字典编码不能为空");
}
int keySize=xhpcDictBizQuantityCheckMapper.countSameParentChildKeyColumns(parentId,dictKey);
if(keySize>0){
return AjaxResult.error("您输入的字典键值已经存在");
}
//Ensuring the parameter is not null.
if(parentId==null){
return AjaxResult.error("The parentId is null");
}
if(dictKey==null){
return AjaxResult.error("字典键值不能为空");
}
dictKey=dictKey.trim();
if(dictKey.equals("")){
return AjaxResult.error("字典键值不能为空");
}
if(dictValue==null){
return AjaxResult.error("字典名称不能为空");
}
dictValue=dictValue.trim();
if(dictValue.equals("")){
return AjaxResult.error("字典名称不能为空");
}
if(sort==null){
return AjaxResult.error("字典排序不能为空");
}
//Ensuring sort is bigger than 0;
if(sort<1){
return AjaxResult.error("字典排序的值不能小于1");
}
//Ensuring the length of parameter's is correct.
if(dictKey.length()>255){
return AjaxResult.error("字典键值的长度不能大于255");
}
if(dictValue.length()>255){
return AjaxResult.error("字典名称的长度不能大于255");
}
if(String.valueOf(sort).length()>11){
return AjaxResult.error("字典排序的长度不能大于11");
}
//Ensuring value is unique.
int size=xhpcDictBizMapper.countSameParentChildNameColumns(parentId,dictValue);
int sizeFather=xhpcDictBizQuantityCheckMapper.countParentName(dictValue);
if(size>0||sizeFather>0){
return AjaxResult.error("你输入的字典名称已经存在");
}else {
xhpcDictBizMapper.insertAChildItemToTable(parentId, code, dictKey, dictValue,sort);
}
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult deleteChildDictionaryItem(Long id) {
int length=xhpcDictBizMapper.deleteChildDictionaryItemById(id);
if(length==0){
return AjaxResult.error("not exists");
}
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult deleteParentItem(Long id) {
//At first delete father's item.
int size=xhpcDictBizMapper.deleteChildDictionaryItemById(id);
if(size==0){
return AjaxResult.error("删除失败");
}
try {
//Deleting their child.
xhpcDictBizMapper.deleteChildItemsFollowParent(id);
} catch (Exception e) {
return AjaxResult.error("删除失败");
}
return AjaxResult.success();
}
@Override
@Transactional
public List<XhpcDictionary> getMainItems(String code, String name) {
return xhpcDictBizMapper.selectParentDictionaryItemsByCodeAndName(code,name);
}
@Override
@Transactional
public List<XhpcDictionary> getDetailsItems(Long parentId,String code, String name) {
return xhpcDictBizMapper.selectChildDictionaryItemsByCodeAndName(parentId,code,name);
}
@Override
@Transactional
public AjaxResult updateMainItem(Long id,String code, String dictValue, Integer sort) {
//Ensuring the code is valid, it is not a null value or a white value.
if(code==null){
return AjaxResult.error("字典编码不能为空");
}
code=code.trim();
if(code.equals("")){
return AjaxResult.error("字典编码不能为空");
}
if(code.length()>255){
return AjaxResult.error("字符编码长度不能大于255");
}
//Ensuring the sort is bigger than zero.
if(sort<1){
return AjaxResult.error("字典排序的值不能小于1");
}
if(String.valueOf(sort).length()>11){
return AjaxResult.error("字典排序长度不能大于11");
}
if(dictValue==null){
return AjaxResult.error("字典名称不能为空");
}
dictValue=dictValue.trim();
if(dictValue.equals("")){
return AjaxResult.error("字典名称不能为空");
}
if(dictValue.length()>255){
return AjaxResult.error("字符名称不能大于255");
}
//Ensuring the code and dict_value is unique.
XhpcDictionary xhpcDictionary=xhpcDictBizMapper.selectADictionaryItem(id);
String value=xhpcDictionary.getDictValue();
String codeValue=xhpcDictionary.getCode();
// Judging the father item whether could insert.
if(!value.equals(dictValue)){
//Ensuring the name(dict_value) has existed.
int size=xhpcDictBizMapper.countParentNameQuantity(dictValue);
if(size>0){
return AjaxResult.error("您输入的字典名称已经存在。");
}
}
if(!codeValue.equals(code)){
//Ensuring the code whether has existed.
int quantity=xhpcDictBizQuantityCheckMapper.countCodeRows(code);
if(quantity>0){
return AjaxResult.error("您输入的字典编号已经存在。");
}
}
xhpcDictBizMapper.updateParentItemByCodeDictValueSort(id, code, dictValue, sort);
//在父级修改了字典编号后子级也要修改字字典编号与父级保持一致
xhpcDictBizMapper.updateChildCodeAfterParentChanged(code,id);
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult updateChildItem(Long parentId,Long id, String value, String key,Integer sort) {
//Ensuring the value is valid.
if(value==null){
return AjaxResult.error("字典名称不能为空");
}
value=value.trim();
if(value.equals("")){
return AjaxResult.error("字典名称不能为空");
}
if(value.length()>255){
return AjaxResult.error("字符名称长度不能大于255");
}
//Ensuring the key is valid.
if(key==null){
return AjaxResult.error("字典键值不能为空");
}
key=key.trim();
if(key.equals("")){
return AjaxResult.error("字典键值不能为空");
}
if(key.length()>255){
return AjaxResult.error("字符键值不能为空");
}
if(sort<1){
return AjaxResult.error("字典排序不能小于1");
}
if(String.valueOf(sort).length()>11){
return AjaxResult.error("字典排序长度不能大于11");
}
XhpcDictionary xhpcDictionary=xhpcDictBizMapper.selectADictionaryItem(id);
System.out.println(xhpcDictionary.getDictKey());
//Ensuring the key and value is unique.
if(!xhpcDictionary.getDictKey().equals(key)){
int keySize=xhpcDictBizQuantityCheckMapper.countSameParentChildKeyColumns(parentId,key);
System.out.println(keySize);
if(keySize!=0){
return AjaxResult.error("您输入的字典键值已经存在。");
}
}
System.out.println(xhpcDictionary.getDictValue());
if(!xhpcDictionary.getDictValue().equals(value)){
int valueSize=xhpcDictBizQuantityCheckMapper.countSameParentChildValueColumns(parentId,value);
System.out.println(valueSize);
if(valueSize!=0){
return AjaxResult.error("您输入的字典名称已经存在");
}
}
int i=xhpcDictBizMapper.updateChildItem(id,value,key,sort);
if(i==0){
return AjaxResult.error("更新失败");
}else {
return AjaxResult.success();
}
}
@Override
@Transactional
public AjaxResult deleteChildItems(String ids) {
//Making the String ids into List<Long> ids.
List<Long> idsList=new ArrayList<>();
String [] idsArray=ids.split(",");
for(String value:idsArray){
idsList.add(Long.parseLong(value));
}
int size=xhpcDictBizMapper.deleteChildItemByIds(idsList);
if(size==0){
return AjaxResult.error("删除失败");
}else {
return AjaxResult.success();
}
}
@Override
@Transactional
public AjaxResult deleteParentItems(String ids) {
//Making the String ids into List<Long> ids.
List<Long> idsList=new ArrayList<>();
String [] idsArray=ids.split(",");
for(String value:idsArray){
idsList.add(Long.parseLong(value));
}
//Deleting parent first.
int sizeParent=xhpcDictBizMapper.deleteChildItemByIds(idsList);
if(sizeParent==0){
return AjaxResult.error("删除失败");
}
//Deleting the parent's child.
int sizeChild=xhpcDictBizMapper.deleteChildItemsAfterTheirParentDied(idsList);
if(sizeChild==0){
return AjaxResult.error("删除失败");
}
return AjaxResult.success();
}
}

View File

@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.general.mapper.XhpcDictBizMapper">
<resultMap id="BaseResultMap" type="com.xhpc.common.domain.XhpcDictBiz">
<resultMap id="BaseResultMap" type="com.xhpc.general.domain.XhpcDictionary">
<result property="dictBizId" column="dict_biz_id"/>
<result property="parentId" column="parent_id"/>
<result property="code" column="code"/>
@ -24,4 +24,98 @@
select code, dict_key, dict_value, sort, remark from xhpc_dict_biz where code = #{code} and parent_id > 0 and del_flag = 0
</select>
<select id="countParentNameColumns" resultType="java.lang.Integer">
select count(dict_value) from xhpc_dict_biz where dict_value=#{name} and dict_biz_id=#{id};
</select>
<select id="countSameParentChildNameColumns" resultType="java.lang.Integer">
select count(dict_value) from xhpc_dict_biz where parent_id=#{id} and dict_value=#{name}
</select>
<insert id="insertAParentItemToTable">
insert into xhpc_dict_biz(dict_value,code,sort) values(#{name},#{code},#{sort})
</insert>
<select id="selectADictionaryItem" resultMap="BaseResultMap">
select * from xhpc_dict_biz where dict_biz_id=#{id}
</select>
<insert id="insertAChildItemToTable">
insert into xhpc_dict_biz(parent_id,code,dict_key,dict_value,sort) values (#{id},#{code},#{dictKey},#{dictValue},#{sore})
</insert>
<update id="deleteChildDictionaryItemById">
update xhpc_dict_biz set del_flag=1 where dict_biz_id=#{id}
</update>
<update id="deleteChildItemsFollowParent">
update xhpc_dict_biz set del_flag=1 where parent_id=#{id}
</update>
<select id="selectParentDictionaryItemsByCodeAndName" resultMap="BaseResultMap">
select * from xhpc_dict_biz
where parent_id=0 and del_flag=0
<if test="code!=null and code!=''">
and code like concat('%',#{code},'%')
</if>
<if test="name!=null and name!=''">
and dict_value like concat('%',#{name},'%')
</if>
order by sort asc
</select>
<select id="selectChildDictionaryItemsByCodeAndName" resultMap="BaseResultMap">
select * from xhpc_dict_biz
where parent_id!=0 and parent_id=#{id} and del_flag=0
<if test="code!=null and code!=''">
and code like concat('%',#{code},'%')
</if>
<if test="name!=null and name!=''">
and dict_value like concat('%',#{name},'%')
</if>
order by sort asc
</select>
<update id="updateParentItemByCodeDictValueSort">
update xhpc_dict_biz set code=#{code},dict_value=#{dictValue},sort=#{sort} where dict_biz_id=#{id}
</update>
<update id="updateChildValue">
update xhpc_dict_biz set code=#{code} where parent_id=#{id}
</update>
<update id="updateChildItem">
update xhpc_dict_biz set dict_key=#{key},dict_value=#{value},sort=#{sort} where dict_biz_id=#{id}
</update>
<delete id="deleteChildItemByIds">
update xhpc_dict_biz set del_flag=1
where
dict_biz_id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<select id="countParentNameQuantity" resultType="java.lang.Integer">
select count(dict_biz_id) from xhpc_dict_biz where dict_value=#{name}
</select>
<update id="updateChildCodeAfterParentChanged">
update xhpc_dict_biz set code=#{code} where parent_id=#{id}
</update>
<update id="deleteChildItemsAfterTheirParentDied">
update xhpc_dict_biz set del_flag=1
where
parent_id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>

View File

@ -0,0 +1,22 @@
<?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.xhpc.general.mapper.XhpcDictBizQuantityCheckMapper">
<select id="countCodeRows" resultType="java.lang.Integer">
select count(code) from xhpc_dict_biz where code=#{code}
</select>
<select id="countSameParentChildValueColumns" resultType="java.lang.Integer">
select count(dict_biz_id) from xhpc_dict_biz where parent_id=#{id} and dict_value=#{key}
</select>
<select id="countSameParentChildKeyColumns" resultType="java.lang.Integer">
select count(dict_biz_id) from xhpc_dict_biz where parent_id=#{id} and dict_key=#{key}
</select>
<select id="countParentName" resultType="java.lang.Integer">
select count(dict_biz_id) from xhpc_dict_biz where parent_id=0 and dict_value=#{name}
</select>
</mapper>