diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/mapper/FilterConfigDetailMapper.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/mapper/FilterConfigDetailMapper.java index 470bf8b..6f73b84 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/mapper/FilterConfigDetailMapper.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/mapper/FilterConfigDetailMapper.java @@ -2,6 +2,14 @@ package com.huaheng.pc.config.FilterConfigDetail.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail; +import org.apache.ibatis.annotations.Param; public interface FilterConfigDetailMapper extends BaseMapper<FilterConfigDetail> { + + //复制规则配置明细 + int filterConfigDetailCopy(@Param("code") String code, @Param("newCode") String newCode); + + //修改规则配置明细headerId + int updateHeaderId(@Param("code") String code); + } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/mapper/FilterConfigHeaderMapper.java b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/mapper/FilterConfigHeaderMapper.java index b4391a1..831d0aa 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/mapper/FilterConfigHeaderMapper.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/mapper/FilterConfigHeaderMapper.java @@ -2,6 +2,10 @@ package com.huaheng.pc.config.FilterConfigHeader.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.FilterConfigHeader.domain.FilterConfigHeader; +import org.apache.ibatis.annotations.Param; public interface FilterConfigHeaderMapper extends BaseMapper<FilterConfigHeader> { + + //复制规则配置主表 + int filterConfigHeaderCopy(@Param("code") String code, @Param("newCode") String newCode); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java index d9e7ad6..5de586f 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java @@ -3,16 +3,25 @@ package com.huaheng.pc.config.FilterConfigHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.pc.config.FilterConfigDetail.mapper.FilterConfigDetailMapper; import com.huaheng.pc.config.FilterConfigHeader.domain.FilterConfigHeader; import com.huaheng.pc.config.FilterConfigHeader.mapper.FilterConfigHeaderMapper; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; @Service("filterConfigHeaderService") public class FilterConfigHeaderService extends ServiceImpl<FilterConfigHeaderMapper, FilterConfigHeader> { + @Resource + private FilterConfigHeaderMapper filterConfigHeaderMapper; + + @Resource + private FilterConfigDetailMapper filterConfigDetailMapper; + //根据模块和类型查找具体规则 public List<FilterConfigHeader> getFilterConfigHeaderService(String moduleType,String recordType){ @@ -22,4 +31,28 @@ public class FilterConfigHeaderService extends ServiceImpl<FilterConfigHeaderMap .eq(FilterConfigHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()); return this.list(lam); } + + + //复制规则配置 + public Boolean filterConfigCopy(String code,String newCode){ + int i = 0; + //复制规则配置主表 + i = filterConfigHeaderMapper.filterConfigHeaderCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //复制规则配置明细 + i = filterConfigDetailMapper.filterConfigDetailCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //修改规则配置明细headerId + i = filterConfigDetailMapper.updateHeaderId(newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + return true; + } } diff --git a/src/main/java/com/huaheng/pc/config/shipmentType/config/shipmentTypeController.java b/src/main/java/com/huaheng/pc/config/shipmentType/controller/shipmentTypeController.java index a91e7b1..7327902 100644 --- a/src/main/java/com/huaheng/pc/config/shipmentType/config/shipmentTypeController.java +++ b/src/main/java/com/huaheng/pc/config/shipmentType/controller/shipmentTypeController.java @@ -1,4 +1,4 @@ -package com.huaheng.pc.config.shipmentType.config; +package com.huaheng.pc.config.shipmentType.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowDetailMapper.java b/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowDetailMapper.java index cd578d2..b23db2a 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowDetailMapper.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowDetailMapper.java @@ -2,6 +2,13 @@ package com.huaheng.pc.config.statusFlow.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; +import org.apache.ibatis.annotations.Param; public interface StatusFlowDetailMapper extends BaseMapper<StatusFlowDetail> { + + //复制流程明细 + int statusFlowDetailCopy(@Param("code") String code, @Param("newCode") String newCode); + + //修改流程明细headerId + int updateHeaderId(@Param("code") String code); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowHeaderMapper.java b/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowHeaderMapper.java index 3023ea1..2d75c28 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowHeaderMapper.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/mapper/StatusFlowHeaderMapper.java @@ -2,6 +2,10 @@ package com.huaheng.pc.config.statusFlow.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader; +import org.apache.ibatis.annotations.Param; public interface StatusFlowHeaderMapper extends BaseMapper<StatusFlowHeader> { + + //复制流程主表 + int statusFlowHeaderCopy(@Param("code") String code, @Param("newCode") String newCode); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java index 4c5fbad..6d84c76 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java @@ -2,19 +2,27 @@ package com.huaheng.pc.config.statusFlow.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; -import org.springframework.aop.aspectj.AspectJPrecedenceInformation; +import com.huaheng.pc.config.statusFlow.mapper.StatusFlowDetailMapper; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader; import com.huaheng.pc.config.statusFlow.mapper.StatusFlowHeaderMapper; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @Service("StatusFlow") public class StatusFlowHeaderService extends ServiceImpl<StatusFlowHeaderMapper, StatusFlowHeader> { + @Resource + private StatusFlowHeaderMapper statusFlowHeaderMapper; + @Resource + private StatusFlowDetailMapper statusFlowDetailMapper; + + public List<Map<String, Object>> flowList(String recordType){ LambdaQueryWrapper<StatusFlowHeader> lambda = Wrappers.lambdaQuery(); lambda.select(StatusFlowHeader::getCode, StatusFlowHeader::getName) @@ -30,4 +38,28 @@ public class StatusFlowHeaderService extends ServiceImpl<StatusFlowHeaderMapper, .eq(StatusFlowHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()); return this.list(lambda); } + + + //复制流程 + public Boolean statusFlowCopy(String code,String newCode){ + int i = 0; + //复制流程主表 + i = statusFlowHeaderMapper.statusFlowHeaderCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //复制流程明细 + i = statusFlowDetailMapper.statusFlowDetailCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //修改流程明细headerId + i = statusFlowDetailMapper.updateHeaderId(newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + return true; + } } diff --git a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java index 7ee4066..69d3110 100644 --- a/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/warehouse/service/WarehouseServiceImpl.java @@ -4,21 +4,35 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.common.exception.service.ServiceException; +import com.huaheng.pc.config.address.domain.Address; import com.huaheng.pc.config.address.service.AddressService; +import com.huaheng.pc.config.configValue.domain.ConfigValue; import com.huaheng.pc.config.configValue.service.ConfigValueService; import com.huaheng.pc.config.containerType.service.ContainerTypeService; +import com.huaheng.pc.config.cycleCountPreference.domain.CycleCountPreference; import com.huaheng.pc.config.cycleCountPreference.service.CycleCountPreferenceService; +import com.huaheng.pc.config.locationType.domain.LocationType; import com.huaheng.pc.config.locationType.service.LocationTypeService; import com.huaheng.pc.config.receiptPreference.service.ReceiptPreferenceService; import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; +import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService; import com.huaheng.pc.config.shipmentType.service.ShipmentTypeService; +import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService; import com.huaheng.pc.config.warehouse.domain.Warehouse; import com.huaheng.pc.config.warehouse.mapper.WarehouseMapper; import com.huaheng.pc.config.warehouseCompany.domain.WarehouseCompany; import com.huaheng.pc.config.warehouseCompany.service.WarehouseCompanyService; +import com.huaheng.pc.config.waveMaster.service.WaveMasterService; +import com.huaheng.pc.shipment.wave.service.WaveService; +import com.huaheng.pc.system.dict.service.IDictTypeService; +import com.huaheng.pc.system.menu.service.IMenuService; +import com.huaheng.pc.system.menu.service.MenuServiceImpl; +import com.huaheng.pc.system.role.service.IRoleService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import sun.util.resources.cldr.ext.CurrencyNames_rof; import javax.annotation.Resource; import java.util.List; @@ -49,6 +63,18 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse private WarehouseMapper warehouseMapper; @Resource private WarehouseCompanyService warehouseCompanyService; + @Autowired + private IRoleService roleService; + @Autowired + private IDictTypeService dictTypeService; + @Autowired + private IMenuService menuService; + @Autowired + private FilterConfigHeaderService filterConfigHeaderService; + @Autowired + private StatusFlowHeaderService statusFlowHeaderService; + @Autowired + private WaveMasterService waveMasterService; @Override public List<Map<String, Object>> getWarehouseList(Integer id) { @@ -116,26 +142,54 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse if (!containerTypeService.containerTypeCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制容器类型表失败"); } - /* 复制盘点首选项表*/ - if (!cycleCountPreferenceService.cycleCountPreferenceCopy(warehouseCode, newWarehouseCode)){ - throw new ServiceException("复制盘点首选项表失败"); - } /* 复制库位类型表*/ if (!locationTypeService.locationTypeCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制库位类型表失败"); } + /* 复制盘点首选项表*/ + if (!cycleCountPreferenceService.cycleCountPreferenceCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制盘点首选项表失败"); + } + /* 复制入库首选项*/ if (!receiptPreferenceService.receiptPreferenceCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制入库首选项表失败"); } - if (!receiptTypeService.receiptTypeCopy(warehouseCode, newWarehouseCode)){ - throw new ServiceException("复制入库类型表失败"); - } + /* 复制出库首选项*/ if (!shipmentPreferenceService.shipmentPreferenceCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制出库首选项表失败"); } + /* 复制入库类型*/ + if (!receiptTypeService.receiptTypeCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制入库类型表失败"); + } + /* 复制出库类型*/ if (!shipmentTypeService.ShipmentTypeCopy(warehouseCode, newWarehouseCode)){ throw new ServiceException("复制出库类型表失败"); } + /* 复制角色*/ + if (!roleService.roleCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制角色表失败"); + } + /* 复制字典数据*/ + if (!dictTypeService.dictTypeCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制字典数据表失败"); + } + /* 复制菜单*/ + if (!menuService.menuCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制菜单表失败"); + } + /* 复制流程*/ + if (!statusFlowHeaderService.statusFlowCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制流程表失败"); + } + /* 复制规则配置*/ + if (!filterConfigHeaderService.filterConfigCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制规则配置表失败"); + } + /* 复制波次配置*/ + if (!waveMasterService.waveMasterCopy(warehouseCode, newWarehouseCode)){ + throw new ServiceException("复制波次配置表失败"); + } return true; } } diff --git a/src/main/java/com/huaheng/pc/config/waveFlowDetail/mapper/WaveFlowDetailMapper.java b/src/main/java/com/huaheng/pc/config/waveFlowDetail/mapper/WaveFlowDetailMapper.java index 9a28317..3edcf7c 100644 --- a/src/main/java/com/huaheng/pc/config/waveFlowDetail/mapper/WaveFlowDetailMapper.java +++ b/src/main/java/com/huaheng/pc/config/waveFlowDetail/mapper/WaveFlowDetailMapper.java @@ -2,6 +2,13 @@ package com.huaheng.pc.config.waveFlowDetail.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.waveFlowDetail.domain.WaveFlowDetail; +import org.apache.ibatis.annotations.Param; public interface WaveFlowDetailMapper extends BaseMapper<WaveFlowDetail> { + + //复制波次流程明细 + int waveFlowDetailCopy(@Param("code") String code, @Param("newCode") String newCode); + + //修改波次流程明细headerId + int updateHeaderId(@Param("code") String code); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/waveFlowHeader/mapper/WaveFlowHeaderMapper.java b/src/main/java/com/huaheng/pc/config/waveFlowHeader/mapper/WaveFlowHeaderMapper.java index cbeecec..455a483 100644 --- a/src/main/java/com/huaheng/pc/config/waveFlowHeader/mapper/WaveFlowHeaderMapper.java +++ b/src/main/java/com/huaheng/pc/config/waveFlowHeader/mapper/WaveFlowHeaderMapper.java @@ -2,6 +2,11 @@ package com.huaheng.pc.config.waveFlowHeader.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.waveFlowHeader.domain.WaveFlowHeader; +import org.apache.ibatis.annotations.Param; public interface WaveFlowHeaderMapper extends BaseMapper<WaveFlowHeader> { + + //复制波次流程主表 + int waveFlowHeaderCopy(@Param("code") String code, @Param("newCode") String newCode); + } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/waveMaster/mapper/WaveMasterMapper.java b/src/main/java/com/huaheng/pc/config/waveMaster/mapper/WaveMasterMapper.java index d789f23..5250f63 100644 --- a/src/main/java/com/huaheng/pc/config/waveMaster/mapper/WaveMasterMapper.java +++ b/src/main/java/com/huaheng/pc/config/waveMaster/mapper/WaveMasterMapper.java @@ -2,6 +2,10 @@ package com.huaheng.pc.config.waveMaster.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.config.waveMaster.domain.WaveMaster; +import org.apache.ibatis.annotations.Param; public interface WaveMasterMapper extends BaseMapper<WaveMaster> { + + //复制波次配置 + int waveMasterCopy(@Param("code") String code, @Param("newCode") String newCode); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/waveMaster/service/WaveMasterService.java b/src/main/java/com/huaheng/pc/config/waveMaster/service/WaveMasterService.java index ee2ad9b..1889015 100644 --- a/src/main/java/com/huaheng/pc/config/waveMaster/service/WaveMasterService.java +++ b/src/main/java/com/huaheng/pc/config/waveMaster/service/WaveMasterService.java @@ -1,11 +1,56 @@ package com.huaheng.pc.config.waveMaster.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.exception.service.ServiceException; +import com.huaheng.pc.config.waveFlowDetail.domain.WaveFlowDetail; +import com.huaheng.pc.config.waveFlowDetail.mapper.WaveFlowDetailMapper; +import com.huaheng.pc.config.waveFlowHeader.domain.WaveFlowHeader; +import com.huaheng.pc.config.waveFlowHeader.mapper.WaveFlowHeaderMapper; import com.huaheng.pc.config.waveMaster.domain.WaveMaster; import com.huaheng.pc.config.waveMaster.mapper.WaveMasterMapper; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class WaveMasterService extends ServiceImpl<WaveMasterMapper, WaveMaster> { + @Resource + private WaveMasterMapper waveMasterMapper; + @Resource + private WaveFlowHeaderMapper waveFlowHeaderMapper; + @Resource + private WaveFlowDetailMapper waveFlowDetailMapper; + + + + //复制波次配置 + public Boolean waveMasterCopy(String code,String newCode){ + int i = 0; + //复制波次配置 + i = waveMasterMapper.waveMasterCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //复制波次流程主表 + i = waveFlowHeaderMapper.waveFlowHeaderCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //复制波次流程明细 + i = waveFlowDetailMapper.waveFlowDetailCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + + //修改波次流程明细headerId + i = waveFlowDetailMapper.updateHeaderId(newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + return null; + } + } diff --git a/src/main/java/com/huaheng/pc/system/dict/mapper/DictDataMapper.java b/src/main/java/com/huaheng/pc/system/dict/mapper/DictDataMapper.java index 23e1e3d..958c4c4 100644 --- a/src/main/java/com/huaheng/pc/system/dict/mapper/DictDataMapper.java +++ b/src/main/java/com/huaheng/pc/system/dict/mapper/DictDataMapper.java @@ -115,4 +115,10 @@ public interface DictDataMapper DictData selectModel(DictData dictData); + //复制字典明细数据 + int dictDateCopy(@Param("code")String code, @Param("newCode")String newCode); + + + //修改复制明细的父ID + int updateHeaderId(@Param("code")String code); } diff --git a/src/main/java/com/huaheng/pc/system/dict/mapper/DictTypeMapper.java b/src/main/java/com/huaheng/pc/system/dict/mapper/DictTypeMapper.java index ad90a49..718cdfe 100644 --- a/src/main/java/com/huaheng/pc/system/dict/mapper/DictTypeMapper.java +++ b/src/main/java/com/huaheng/pc/system/dict/mapper/DictTypeMapper.java @@ -94,4 +94,8 @@ public interface DictTypeMapper public int insertDictTypes(@Param("dictTypes") List<DictType> dictTypes); + + //先复制字典主表数据 + int dictTypeCopy(@Param("code")String code, @Param("newCode")String newCode); + } diff --git a/src/main/java/com/huaheng/pc/system/dict/service/DictTypeServiceImpl.java b/src/main/java/com/huaheng/pc/system/dict/service/DictTypeServiceImpl.java index 6480de8..db447a4 100644 --- a/src/main/java/com/huaheng/pc/system/dict/service/DictTypeServiceImpl.java +++ b/src/main/java/com/huaheng/pc/system/dict/service/DictTypeServiceImpl.java @@ -1,5 +1,6 @@ package com.huaheng.pc.system.dict.service; +import com.huaheng.common.exception.service.ServiceException; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -176,4 +177,26 @@ public class DictTypeServiceImpl implements IDictTypeService return dictTypeMapper.insertDictTypes(dictTypeList); } + + //复制字典数据 + @Override + public Boolean dictTypeCopy(String code, String newCode) { + int i = 0; + //1、先复制字典主表数据 + i = dictTypeMapper.dictTypeCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制字典主表失败"); + } + //2、复制字典明细数据 + i = dictDataMapper.dictDateCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制字典明细失败"); + } + //3、修改复制明细的父ID + i = dictDataMapper.updateHeaderId(newCode); + if(i < 1){ + throw new ServiceException("修改字典明细失败"); + } + return null; + } } diff --git a/src/main/java/com/huaheng/pc/system/dict/service/IDictTypeService.java b/src/main/java/com/huaheng/pc/system/dict/service/IDictTypeService.java index 65a0ae7..8b8a44c 100644 --- a/src/main/java/com/huaheng/pc/system/dict/service/IDictTypeService.java +++ b/src/main/java/com/huaheng/pc/system/dict/service/IDictTypeService.java @@ -96,4 +96,7 @@ public interface IDictTypeService public int insertDictTypes(List<DictType> dictTypes); + + //复制字典数据 + Boolean dictTypeCopy(String code,String newCode); } diff --git a/src/main/java/com/huaheng/pc/system/menu/mapper/MenuMapper.java b/src/main/java/com/huaheng/pc/system/menu/mapper/MenuMapper.java index 9269833..9f06004 100644 --- a/src/main/java/com/huaheng/pc/system/menu/mapper/MenuMapper.java +++ b/src/main/java/com/huaheng/pc/system/menu/mapper/MenuMapper.java @@ -118,4 +118,10 @@ public interface MenuMapper extends BaseMapper<Menu> public List<Menu> selectMobileMenusByUserId(@Param("warehouseCode") String warehouseCode, @Param("userId") Integer userId); List<Menu> selectMenuPageList(Menu menu); + + //复制菜单数据 + int menuCopy(@Param("code") String code, @Param("newCode") String newCode); + + //修改父id + int updateParentId(@Param("code") String code); } diff --git a/src/main/java/com/huaheng/pc/system/menu/service/IMenuService.java b/src/main/java/com/huaheng/pc/system/menu/service/IMenuService.java index b9b1f8e..cb9cdf7 100644 --- a/src/main/java/com/huaheng/pc/system/menu/service/IMenuService.java +++ b/src/main/java/com/huaheng/pc/system/menu/service/IMenuService.java @@ -138,4 +138,8 @@ public interface IMenuService * @return 菜单列表 */ List<Menu> selectMobileMenusByUserId(Integer userId); + + + //复制菜单 + Boolean menuCopy(String code,String newCode); } diff --git a/src/main/java/com/huaheng/pc/system/menu/service/MenuServiceImpl.java b/src/main/java/com/huaheng/pc/system/menu/service/MenuServiceImpl.java index 6408371..85d71fa 100644 --- a/src/main/java/com/huaheng/pc/system/menu/service/MenuServiceImpl.java +++ b/src/main/java/com/huaheng/pc/system/menu/service/MenuServiceImpl.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.pc.system.user.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -354,5 +355,22 @@ public class MenuServiceImpl implements IMenuService return menus; } + //复制菜单 + @Override + public Boolean menuCopy(String code, String newCode) { + int i = 0; + //复制菜单数据 + i = menuMapper.menuCopy(code,newCode); + if(i < 1){ + throw new ServiceException("复制菜单数据失败"); + } + //修改父id + i= menuMapper.updateParentId(newCode); + if(i < 1){ + throw new ServiceException("修改父Id失败"); + } + return true; + } + } diff --git a/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java b/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java index eb71982..5f80e4c 100644 --- a/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java +++ b/src/main/java/com/huaheng/pc/system/role/mapper/RoleMapper.java @@ -91,4 +91,7 @@ public interface RoleMapper */ public Role checkroleCodeUnique(@Param("warehouseCode") String warehouseCode, @Param("roleCode") String roleCode); + + public int roleCopy(@Param("code")String code, @Param("newCode")String newCode); + } diff --git a/src/main/java/com/huaheng/pc/system/role/service/IRoleService.java b/src/main/java/com/huaheng/pc/system/role/service/IRoleService.java index 41d6a52..efafd30 100644 --- a/src/main/java/com/huaheng/pc/system/role/service/IRoleService.java +++ b/src/main/java/com/huaheng/pc/system/role/service/IRoleService.java @@ -108,4 +108,8 @@ public interface IRoleService */ public int countUserRoleByRoleId(Integer id); + + //复制角色 + Boolean roleCopy(String code,String newCode); + } diff --git a/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java b/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java index 741f6dd..87300dc 100644 --- a/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java +++ b/src/main/java/com/huaheng/pc/system/role/service/RoleServiceImpl.java @@ -259,4 +259,15 @@ public class RoleServiceImpl implements IRoleService return userRoleMapper.countUserRoleByRoleId(id); } + + //复制角色 + @Override + public Boolean roleCopy(String code, String newCode) { + int i = roleMapper.roleCopy(code,newCode); + if(i > 0){ + return true; + } + return false; + } + } diff --git a/src/main/resources/mybatis/config/FilterConfigDetailMapper.xml b/src/main/resources/mybatis/config/FilterConfigDetailMapper.xml index 294d19a..7879c53 100644 --- a/src/main/resources/mybatis/config/FilterConfigDetailMapper.xml +++ b/src/main/resources/mybatis/config/FilterConfigDetailMapper.xml @@ -33,4 +33,24 @@ version, userDef1, userDef2, userDef3, userDef4, processStamp, filterName </sql> + + + <insert id="filterConfigDetailCopy"> + insert into filter_config_detail(headerId, code, moduleType, recordType, filterCode, warehouseCode, description, + `statement`,statements, systemCreated, customSql, createdBy, lastUpdatedBy, + version,processStamp, filterName) + select headerId, code, moduleType, recordType, filterCode, #{newCode}, description, + `statement`,statements, systemCreated, customSql,createdBy, lastUpdatedBy,version, + processStamp, filterName from filter_config_detail + where warehouseCode =#{code} + + </insert> + + <update id="updateHeaderId"> + update filter_config_detail d + inner join filter_config_header t + on t.filterCode=d.filterCode and d.warehouseCode=t.warehouseCode and d.warehouseCode=#{code} + set d.headerId=t.id + + </update> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/FilterConfigHeaderMapper.xml b/src/main/resources/mybatis/config/FilterConfigHeaderMapper.xml index df68781..cba48da 100644 --- a/src/main/resources/mybatis/config/FilterConfigHeaderMapper.xml +++ b/src/main/resources/mybatis/config/FilterConfigHeaderMapper.xml @@ -28,4 +28,15 @@ created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, processStamp, filterName </sql> + + + <insert id="filterConfigHeaderCopy"> + insert into filter_config_header(moduleType, recordType, filterCode, warehouseCode, description, systemCreated, + createdBy, lastUpdatedBy, version, processStamp, filterName) + select moduleType, recordType, filterCode, #{newCode}, description, systemCreated, + createdBy, lastUpdatedBy, version, processStamp, filterName from filter_config_header + where warehouseCode = #{code} + + + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/StatusFlowDetailMapper.xml b/src/main/resources/mybatis/config/StatusFlowDetailMapper.xml index 9884dec..2ac2749 100644 --- a/src/main/resources/mybatis/config/StatusFlowDetailMapper.xml +++ b/src/main/resources/mybatis/config/StatusFlowDetailMapper.xml @@ -33,4 +33,21 @@ nessary, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, processStamp </sql> + + <insert id="statusFlowDetailCopy"> + insert into status_flow_detail(headerId,headerCode, flowCode, warehouseCode, moduleType, recordType, `enable`, `sequence`, + nessary, createdBy, lastUpdatedBy, version, processStamp) + select headerId,headerCode, flowCode, #{newCode}, moduleType, recordType, `enable`, `sequence`, + nessary, createdBy, lastUpdatedBy, version,processStamp from status_flow_detail + where warehouseCode =#{code} + + </insert> + + <update id="updateHeaderId"> + update status_flow_detail d + inner join status_flow_header t + on t.code=d.headerCode and d.warehouseCode=t.warehouseCode and d.warehouseCode=#{code} + set d.headerId=t.id + + </update> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/StatusFlowHeaderMapper.xml b/src/main/resources/mybatis/config/StatusFlowHeaderMapper.xml index 6527b96..6084930 100644 --- a/src/main/resources/mybatis/config/StatusFlowHeaderMapper.xml +++ b/src/main/resources/mybatis/config/StatusFlowHeaderMapper.xml @@ -32,4 +32,11 @@ lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, processStamp, systemCreated </sql> + + + <insert id="statusFlowHeaderCopy"> + insert into status_flow_header(code,name,warehouseCode,moduleType,recordType,enable,createdBy,lastUpdatedBy,version,processStamp,systemCreated) + select code,name,#{newCode},moduleType,recordType,enable,createdBy, lastUpdatedBy,version,processStamp,systemCreated from status_flow_header + where warehouseCode = #{code} + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/WaveFlowDetailMapper.xml b/src/main/resources/mybatis/config/WaveFlowDetailMapper.xml index 91d07b0..e03c303 100644 --- a/src/main/resources/mybatis/config/WaveFlowDetailMapper.xml +++ b/src/main/resources/mybatis/config/WaveFlowDetailMapper.xml @@ -31,4 +31,24 @@ value1, value2, value3, value4, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, processStamp </sql> + + + <insert id="waveFlowDetailCopy"> + insert into wave_flow_detail(headerId, waveFlowCode, warehouseCode, `sequence`, waveStepCode, waveStepName, + value1, value2, value3, value4, createdBy, lastUpdatedBy, version,processStamp) + select headerId, waveFlowCode, #{newCode}, `sequence`, waveStepCode, waveStepName, + value1, value2, value3, value4, createdBy, lastUpdatedBy, version, processStamp from wave_flow_detail + where warehouseCode =#{code} + + + </insert> + + <update id="updateHeaderId"> + update wave_flow_detail d + inner join wave_flow_header t + on t.code=d.waveFlowCode and d.warehouseCode=t.warehouseCode and d.warehouseCode=#{code} + set d.headerId=t.id + + </update> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/WaveFlowHeaderMapper.xml b/src/main/resources/mybatis/config/WaveFlowHeaderMapper.xml index 626cb71..0506861 100644 --- a/src/main/resources/mybatis/config/WaveFlowHeaderMapper.xml +++ b/src/main/resources/mybatis/config/WaveFlowHeaderMapper.xml @@ -22,4 +22,12 @@ id, code, warehouseCode, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, processStamp </sql> + + + <insert id="waveFlowHeaderCopy"> + insert into wave_flow_header(code, warehouseCode, createdBy, lastUpdatedBy, version,processStamp) + select code, #{newCode}, createdBy, lastUpdatedBy, version,processStamp from wave_flow_header + where warehouseCode =#{code} + + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/WaveMasterMapper.xml b/src/main/resources/mybatis/config/WaveMasterMapper.xml index 96e5a31..ae1c3d6 100644 --- a/src/main/resources/mybatis/config/WaveMasterMapper.xml +++ b/src/main/resources/mybatis/config/WaveMasterMapper.xml @@ -5,6 +5,7 @@ <!--@mbg.generated--> <id column="id" jdbcType="INTEGER" property="id" /> <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="name" jdbcType="VARCHAR" property="name" /> <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> <result column="sequence" jdbcType="INTEGER" property="sequence" /> <result column="shipmentFilterCode" jdbcType="VARCHAR" property="shipmentFilterCode" /> @@ -37,11 +38,24 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, code, warehouseCode, `sequence`, shipmentFilterCode, waveFlowCode, statusFlowCode, + id, code,name, warehouseCode, `sequence`, shipmentFilterCode, waveFlowCode, statusFlowCode, shortMode, maxShipments, maxLines, defaultWaveCreateSize, shipmentGroupSize, holdRplnTask, rplnStrategy, rplnQtyUM, maxRplnQty, groupingOrderBy, assignmentRule, needReplenishment, rplnAllocationRule, rplnLocatingRule, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, processStamp </sql> + + <insert id="waveMasterCopy"> + insert into wave_master(code,name, warehouseCode, `sequence`, shipmentFilterCode, waveFlowCode, statusFlowCode, + shortMode, maxShipments, maxLines, defaultWaveCreateSize, shipmentGroupSize, holdRplnTask, + rplnStrategy, rplnQtyUM, maxRplnQty, groupingOrderBy, assignmentRule, needReplenishment, + rplnAllocationRule, rplnLocatingRule, createdBy, lastUpdatedBy,version,processStamp) + select code,name,#{newCode}, `sequence`, shipmentFilterCode, waveFlowCode, statusFlowCode, + shortMode, maxShipments, maxLines, defaultWaveCreateSize, shipmentGroupSize, holdRplnTask, + rplnStrategy, rplnQtyUM, maxRplnQty, groupingOrderBy, assignmentRule, needReplenishment, + rplnAllocationRule, rplnLocatingRule, createdBy, lastUpdatedBy,version,processStamp from wave_master + where warehouseCode =#{code} + + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/system/DictDataMapper.xml b/src/main/resources/mybatis/system/DictDataMapper.xml index 5f6a411..f290445 100644 --- a/src/main/resources/mybatis/system/DictDataMapper.xml +++ b/src/main/resources/mybatis/system/DictDataMapper.xml @@ -205,4 +205,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 1 </select> + <insert id="dictDateCopy"> + insert into sys_dict_data(warehouseCode,dictSort,dictLabel,dictValue,dictType,cssClass,listClass,isDefault,enable,deleted,remark) + SELECT #{newCode},dictSort,dictLabel,dictValue,dictType,cssClass,listClass,isDefault,enable,deleted,remark from sys_dict_data + where warehouseCode = {code} + + </insert> + + <update id="updateHeaderId"> + update sys_dict_data d + inner join sys_dict_type t + on t.dictType=d.dictType and d.warehouseCode=t.warehouseCode and d.warehouseCode=#{code} + set d.headerId=t.id + </update> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/system/DictTypeMapper.xml b/src/main/resources/mybatis/system/DictTypeMapper.xml index b64243b..57f9c35 100644 --- a/src/main/resources/mybatis/system/DictTypeMapper.xml +++ b/src/main/resources/mybatis/system/DictTypeMapper.xml @@ -141,5 +141,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) </foreach> </insert> + + <insert id="dictTypeCopy"> + insert into sys_dict_type(warehouseCode,dictName,dictType,enable,deleted,remark) + select #{newCode},dictName,dictType,enable,deleted,remark from sys_dict_type + where warehouseCode=#{code} + + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/system/MenuMapper.xml b/src/main/resources/mybatis/system/MenuMapper.xml index 823085c..f69871e 100644 --- a/src/main/resources/mybatis/system/MenuMapper.xml +++ b/src/main/resources/mybatis/system/MenuMapper.xml @@ -181,4 +181,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by orderNum </select> + <insert id="menuCopy"> + insert into sys_menu(menuName,parentId,parentName,orderNum,url,menuType,menuMobile,visible,perms,icon,warehouseCode,remark) + select menuName,parentId,parentName,orderNum,url,menuType,menuMobile,visible,perms,icon,#{newCode},remark from sys_menu + where warehouseCode = #{code} + + </insert> + + <update id="updateParentId"> + update sys_menu s + inner join sys_menu m on s.warehouseCode=#{code} and s.parentName=m.menuName set s.parentId=m.id + + </update> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/system/RoleMapper.xml b/src/main/resources/mybatis/system/RoleMapper.xml index c740a9d..445c5df 100644 --- a/src/main/resources/mybatis/system/RoleMapper.xml +++ b/src/main/resources/mybatis/system/RoleMapper.xml @@ -124,5 +124,10 @@ sysdate() ) </insert> + + <insert id="roleCopy"> + insert into sys_role(roleName,roleCode,roleSort,warehouseCode,enable,remark) + select roleName,roleCode,roleSort,#{newCode},enable,remark from sys_role where warehouseCode=#{code} + </insert> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/config/shipmentType/add.html b/src/main/resources/templates/config/shipmentType/add.html index e35d3a8..13fe276 100644 --- a/src/main/resources/templates/config/shipmentType/add.html +++ b/src/main/resources/templates/config/shipmentType/add.html @@ -4,7 +4,7 @@ <head th:include="include :: header"></head> <body class="white-bg"> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> - <form class="form-horizontal m" id="form-receiptType-add"> + <form class="form-horizontal m" id="form-shipmentType-add"> <div class="form-group"> <label class="col-sm-3 control-label">编码:</label> <div class="col-sm-8"> @@ -46,7 +46,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">出库流程:</label> <div class="col-sm-8"> - <select id="receiptFlow" name="shipmentFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList()}"> + <select id="shipmentFlow" name="shipmentFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('shippingFlow')}"> <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> </select> </div> @@ -153,7 +153,7 @@ <div th:include="include::footer"></div> <script type="text/javascript"> var prefix = ctx + "config/shipmentType"; - $("#form-receiptType-add").validate({ + $("#form-shipmentType-add").validate({ rules:{ code:{ required:true, @@ -167,7 +167,7 @@ }, submitHandler: function(form) { // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); - var tableValue = $.common.getTableValue("#form-receiptType-add"); + var tableValue = $.common.getTableValue("#form-shipmentType-add"); tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); tableValue = formValueReplace(tableValue, "shipmentFlow", $("#shipmentFlow option:selected").val()); tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); diff --git a/src/main/resources/templates/config/shipmentType/edit.html b/src/main/resources/templates/config/shipmentType/edit.html index 1e6c3c2..3f2ce7e 100644 --- a/src/main/resources/templates/config/shipmentType/edit.html +++ b/src/main/resources/templates/config/shipmentType/edit.html @@ -155,7 +155,7 @@ <div th:include="include::footer"></div> <script type="text/javascript"> var prefix = ctx + "config/shipmentType"; - $("#form-receiptType-edit").validate({ + $("#form-shipmentType-edit").validate({ rules:{ code:{ required:true,