diff --git a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java index eab5af1..0bc039c 100644 --- a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java +++ b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java @@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.huaheng.api.wcs.domain.TaskFinishDomain; import com.huaheng.api.wcs.domain.WcsTask; +import com.huaheng.api.wcs.service.warecellAllocation.WarecellAllocationService; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail; +import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService; import com.huaheng.pc.config.location.domain.Location; import com.huaheng.pc.config.location.service.LocationService; import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; @@ -22,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @@ -39,6 +43,10 @@ public class OverrideHandleServiceImpl implements OverrideHandleService { private ReceiptContainerHeaderService receiptContainerHeaderService; @Autowired private ReceiptContainerDetailService receiptContainerDetailService; + @Resource + private WarecellAllocationService warecellAllocationService; + @Resource + private FilterConfigDetailService filterConfigDetailService; /** * 重入处理 @@ -60,7 +68,7 @@ public class OverrideHandleServiceImpl implements OverrideHandleService { return AjaxResult.error("目的库位为空"); } if(StringUtils.isEmpty(taskFinishDomain.getRedirectionLocationCode())){ - return AjaxResult.error("目的库位为空"); + return AjaxResult.error("重入的库位编码为空"); } @@ -105,7 +113,26 @@ public class OverrideHandleServiceImpl implements OverrideHandleService { } }else { //重入的库位由wms提供 + //查询任务明细 + LambdaQueryWrapper<TaskDetail> taskDetailLambda = Wrappers.lambdaQuery(); + taskDetailLambda.eq(TaskDetail::getTaskId, taskFinishDomain.getTaskNo()); + List<TaskDetail> taskDetailList = taskDetailService.list(taskDetailLambda); + //查询入库组盘明细 + List<ReceiptContainerDetail> receiptContainerDetailList = new ArrayList<>(); + for (TaskDetail taskDetail : taskDetailList) { + receiptContainerDetailList.add(receiptContainerDetailService.getById(taskDetail.getAllocationId())); + } + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetailList.get(0).getReceiptContainerId()); + String locatingRule = warecellAllocationService.taskPositioning(receiptContainerDetailList.get(0)); + + LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambda = Wrappers.lambdaQuery(); + filterConfigDetailLambda.eq(FilterConfigDetail::getCode, locatingRule); + FilterConfigDetail filterConfigDetail = filterConfigDetailService.getOne(filterConfigDetailLambda); + //根据定位规则查询库位编码 + LambdaQueryWrapper<Location> locationLambda = Wrappers.lambdaQuery(); + locationLambda.last(filterConfigDetail.getStatement()); + newlocation = locationService.getOne(locationLambda); } //修改任务 diff --git a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java index 62623f0..5527afd 100644 --- a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java +++ b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java @@ -2,9 +2,12 @@ package com.huaheng.api.wcs.service.warecellAllocation; import com.huaheng.api.wcs.domain.WcsTask; import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; public interface WarecellAllocationService { //仓位分配 AjaxResult WarecellAllocation(WcsTask wcsTask); + + String taskPositioning(ReceiptContainerDetail receiptContainerDetail); } diff --git a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java index 18abb7c..e465050 100644 --- a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java +++ b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationServiceImpl.java @@ -35,6 +35,7 @@ import com.huaheng.pc.task.taskDetail.service.TaskDetailService; import com.huaheng.pc.task.taskHeader.domain.TaskHeader; import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; import com.jhlabs.image.LightFilter; +import com.mchange.v1.util.Sublist; import io.swagger.annotations.ResponseHeader; import org.springframework.stereotype.Service; @@ -129,48 +130,12 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) { ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); - String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则 - if (StringUtils.isEmpty(locatingRule)){ - locatingRule = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule(); - //入库单明细定位规则不为空时执行 - if (StringUtils.isEmpty(locatingRule)){ - //入库单明细为空时,查询物料表中是否含有定位规则 - LambdaQueryWrapper<Material> materialLambda = Wrappers.lambdaQuery(); - materialLambda.eq(Material::getCode, receiptContainerDetail.getMaterialCode()); - Material material = materialService.getOne(materialLambda); - locatingRule = material.getLocatingRule(); - if (StringUtils.isEmpty(locatingRule)){ - //物料表中定位规则为空时,查询物料类别 - LambdaQueryWrapper<MaterialType> materialTypeLambda = Wrappers.lambdaQuery(); - materialTypeLambda.eq(MaterialType::getCode, material.getType()); - MaterialType materialType = materialTypeService.getOne(materialTypeLambda); - locatingRule = materialType.getLocatingRule(); - if (StringUtils.isEmpty(locatingRule)){ - //物料类别中定位规则为空时,查询入库首选项 - LambdaQueryWrapper<ConfigValue> configValueLambda = Wrappers.lambdaQuery(); - configValueLambda.eq(ConfigValue::getWarehouseCode, ShiroUtils.getWarehouseCode()) - .eq(ConfigValue::getModuleType, "receipt") - .eq(ConfigValue::getRecordType, "入库首选项"); - ConfigValue configValue = configValueService.getOne(configValueLambda); - LambdaQueryWrapper<ReceiptPreference> receiptPreferenceLambda = Wrappers.lambdaQuery(); - receiptPreferenceLambda.eq(ReceiptPreference::getCode, configValue.getValue()); - ReceiptPreference receiptPreference = receiptPreferenceService.getOne(receiptPreferenceLambda); - locatingRule = receiptPreferenceService.getOne(receiptPreferenceLambda).getLocationRule(); - } - } - } - - } - //通过定位规则查找自定义sql - if (StringUtils.isEmpty(locatingRule)){ - throw new ServiceException("未绑定定位规则"); - } + String locatingRule = this.taskPositioning(receiptContainerDetail); LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambda = Wrappers.lambdaQuery(); filterConfigDetailLambda.eq(FilterConfigDetail::getCode, locatingRule); FilterConfigDetail filterConfigDetail = filterConfigDetailService.getOne(filterConfigDetailLambda); - String[] locatingRules = filterConfigDetail.getStatement().split("limit"); //根据定位规则查询库位编码 @@ -178,7 +143,7 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService locationLambda.last(locatingRules[0]); List<Location> locationList = locationService.list(locationLambda); // locationList.stream().filter(location -> location.getLocationType().equals(locationTypeList.get(0))); - locationCode = filter(locationList, locationTypeList); + locationCode = filter(locationList, locationTypeList, wcsTask.getRoadWay()); if (StringUtils.isEmpty(locationCode)){ throw new ServiceException("没有库位可分配"); } @@ -205,6 +170,7 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService } } + if (StringUtils.isNotEmpty(locationCode)){ //修改任务明细目标库位 for (TaskDetail taskDetail : taskDetailList) { @@ -226,20 +192,65 @@ public class WarecellAllocationServiceImpl implements WarecellAllocationService /** * 库位筛选 - * @param locationList - * @param locationTypeList + * @param locationList 库位列表 + * @param locationTypeList 库位类型列表 + * @param roadway 巷道 * @return */ - public String filter(List<Location> locationList, List<LocationType> locationTypeList){ - String locationCode = null; - for (Location location: locationList){ - for (LocationType locationType: locationTypeList) { - if (location.getLocationType().equals(locationType.getCode())){ - locationCode = location.getCode(); - return locationCode; + public String filter(List<Location> locationList, List<LocationType> locationTypeList, String roadway){ + List<String> codeList = locationTypeList.stream().map(t-> t.getCode()).collect(Collectors.toList()); + List<Location> newLocation = locationList.stream().filter(t-> codeList.contains(t.getLocationType()) && t.getRoadway().equals(roadway)).collect(Collectors.toList()); + if (newLocation.isEmpty()){ + return null; + } else{ + return newLocation.get(0).getCode(); + } + } + + /** + * 定位 + * @param receiptContainerDetail + * @return + */ + public String taskPositioning(ReceiptContainerDetail receiptContainerDetail){ + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); + String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则 + if (StringUtils.isEmpty(locatingRule)){ + locatingRule = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule(); + //入库单明细定位规则不为空时执行 + if (StringUtils.isEmpty(locatingRule)){ + //入库单明细为空时,查询物料表中是否含有定位规则 + LambdaQueryWrapper<Material> materialLambda = Wrappers.lambdaQuery(); + materialLambda.eq(Material::getCode, receiptContainerDetail.getMaterialCode()); + Material material = materialService.getOne(materialLambda); + locatingRule = material.getLocatingRule(); + + if (StringUtils.isEmpty(locatingRule)){ + //物料表中定位规则为空时,查询物料类别 + LambdaQueryWrapper<MaterialType> materialTypeLambda = Wrappers.lambdaQuery(); + materialTypeLambda.eq(MaterialType::getCode, material.getType()); + MaterialType materialType = materialTypeService.getOne(materialTypeLambda); + locatingRule = materialType.getLocatingRule(); + if (StringUtils.isEmpty(locatingRule)){ + //物料类别中定位规则为空时,查询入库首选项 + LambdaQueryWrapper<ConfigValue> configValueLambda = Wrappers.lambdaQuery(); + configValueLambda.eq(ConfigValue::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .eq(ConfigValue::getModuleType, "receipt") + .eq(ConfigValue::getRecordType, "入库首选项"); + ConfigValue configValue = configValueService.getOne(configValueLambda); + LambdaQueryWrapper<ReceiptPreference> receiptPreferenceLambda = Wrappers.lambdaQuery(); + receiptPreferenceLambda.eq(ReceiptPreference::getCode, configValue.getValue()); + ReceiptPreference receiptPreference = receiptPreferenceService.getOne(receiptPreferenceLambda); + locatingRule = receiptPreferenceService.getOne(receiptPreferenceLambda).getLocationRule(); + } } } } - return null; + //通过定位规则查找自定义sql + if (StringUtils.isEmpty(locatingRule)){ + throw new ServiceException("未绑定定位规则"); + } + + return locatingRule; } } diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java index c2e9e30..e2559ad 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java @@ -123,6 +123,7 @@ public class FilterConfigDetailController extends BaseController { } filterConfigDetail.setModuleType(configHeader.getModuleType()); filterConfigDetail.setRecordType(configHeader.getRecordType()); + filterConfigDetail.setFilterCode(configHeader.getFilterCode()); filterConfigDetail.setWarehouseCode(ShiroUtils.getWarehouseCode()); filterConfigDetail.setCreatedBy(ShiroUtils.getLoginName()); filterConfigDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java index a37b6fa..25258c7 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java @@ -78,9 +78,9 @@ public class FilterConfigDetail implements Serializable { @ApiModelProperty(value="全SQL") private String statement; - @TableField(value = "sqll") + @TableField(value = "statements") @ApiModelProperty(value="后续分组排序") - private String sqll; + private String statements; /** * 是否系统创建 diff --git a/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java b/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java index e26903c..9cc5268 100644 --- a/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java +++ b/src/main/java/com/huaheng/pc/config/location/controller/LocationController.java @@ -123,7 +123,7 @@ public class LocationController extends BaseController { /** * 批量新增保存库位 */ - @RequiresPermissions("config:location:add") + @RequiresPermissions("config:location:addBatch") @ApiOperation(value="新增库位", notes="批量新增库位", httpMethod = "POST") @Log(title = "通用-库位管理", operating = "新增库位", action = BusinessType.INSERT) @PostMapping("/addBatchSave") diff --git a/src/main/java/com/huaheng/pc/config/location/domain/Location.java b/src/main/java/com/huaheng/pc/config/location/domain/Location.java index 65c1a0f..1d6f057 100644 --- a/src/main/java/com/huaheng/pc/config/location/domain/Location.java +++ b/src/main/java/com/huaheng/pc/config/location/domain/Location.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; import lombok.Data; +import org.springframework.transaction.annotation.Transactional; @Data @TableName(value = "location") @@ -72,6 +73,12 @@ public class Location implements Serializable { private Integer iGrid; /** + * 巷道 + */ + @TableField(value = "roadway") + private String roadway; + + /** * 名称 */ @TableField(value = "name") @@ -174,56 +181,4 @@ public class Location implements Serializable { private Boolean deleted; private static final long serialVersionUID = 1L; - - public static final String COL_CODE = "code"; - - public static final String COL_WAREHOUSECODE = "warehouseCode"; - - public static final String COL_ZONECODE = "zoneCode"; - - public static final String COL_LOCATIONTYPE = "locationType"; - - public static final String COL_CONTAINERCODE = "containerCode"; - - public static final String COL_IROW = "iRow"; - - public static final String COL_ICOLUMN = "iColumn"; - - public static final String COL_ILAYER = "iLayer"; - - public static final String COL_IGRID = "iGrid"; - - public static final String COL_NAME = "name"; - - public static final String COL_ENABLE = "enable"; - - public static final String COL_LASTCYCLECOUNTDATE = "lastCycleCountDate"; - - public static final String COL_CREATED = "created"; - - public static final String COL_CREATEDBY = "createdBy"; - - public static final String COL_LASTUPDATED = "lastUpdated"; - - public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; - - public static final String COL_VERSION = "version"; - - public static final String COL_USERDEF1 = "userDef1"; - - public static final String COL_USERDEF2 = "userDef2"; - - public static final String COL_USERDEF3 = "userDef3"; - - public static final String COL_USERDEF4 = "userDef4"; - - public static final String COL_USERDEF5 = "userDef5"; - - public static final String COL_USERDEF6 = "userDef6"; - - public static final String COL_USERDEF7 = "userDef7"; - - public static final String COL_USERDEF8 = "userDef8"; - - public static final String COL_SYSTEMCREATED = "systemCreated"; } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java index d616478..3889c72 100644 --- a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java @@ -73,13 +73,18 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i return AjaxResult.success("新增库位成功"); } + /** + * 批量新增库位 + * @param location + * @return boolean + */ @Override public boolean insertLocation(Location location) { /* 判断库位类型编码是否存在*/ - LambdaQueryWrapper<LocationType> typelambda = Wrappers.lambdaQuery(); - typelambda.eq(LocationType::getCode,location.getLocationType()) + LambdaQueryWrapper<LocationType> typeLambda = Wrappers.lambdaQuery(); + typeLambda.eq(LocationType::getCode,location.getLocationType()) .select(LocationType::getCode); - List<Map<String, Object>> list = locationTypeService.listMaps(typelambda); + List<Map<String, Object>> list = locationTypeService.listMaps(typeLambda); if (list.size() < 1){ throw new ServiceException("库位类型编码不存在"); } @@ -97,6 +102,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i if(!location.getZoneCode().equals(location.getLocationType())){ throw new ServiceException(location.getLocationType()+"的库位类型与"+location.getZoneCode()+"库区不匹配"); } + String prefix = location.getLocationType().substring(1); List<Location> locations = new ArrayList<>(); for (int i=1; i<=location.getIRow().intValue(); i++) { @@ -109,6 +115,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i param.setIColumn(j); param.setILayer(k); param.setIGrid(m); + param.setRoadway(location.getRoadway()); param.setZoneCode(location.getZoneCode()); param.setLocationType(location.getLocationType()); param.setStatus(location.getStatus()); @@ -121,6 +128,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i String.format("%02d", j), String.format("%02d", k), String.format("%02d", m)); + //查询该库位编码是否存在 LambdaQueryWrapper<Location> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Location::getCode,code) .eq(Location::getWarehouseCode,ShiroUtils.getWarehouseCode()); @@ -133,8 +141,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i } } } - Boolean result = locationService.saveBatch(locations); - return result; + return locationService.saveBatch(locations); } @Override diff --git a/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java b/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java index 62765fd..8f57b76 100644 --- a/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java +++ b/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java @@ -50,9 +50,9 @@ public class WaveFlowDetailController extends BaseController { @RequiresPermissions("config:waveFlowDetail:view") - @GetMapping("/list/{id}") - public String waveFlowDetail(@PathVariable("id")Integer id, ModelMap mmap) { - mmap.put("headerId",id); + @GetMapping("/list/{headerId}") + public String waveFlowDetail(@PathVariable("id")Integer headerId, ModelMap mmap) { + mmap.put("headerId",headerId); return prefix + "/waveFlowDetail"; } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java index 4a8bd03..e37724a 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java @@ -108,6 +108,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, //说明没有货箱,则直接首位均为新建 shipmentHeader.setFirstStatus(100); shipmentHeader.setLastStatus(100); + this.saveOrUpdate(shipmentHeader); }else { int firstStatus = map.get("maxStatus"); diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java index e01c992..6a758cf 100644 --- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java +++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java @@ -78,7 +78,7 @@ public class ShippingCombinationService { //根据sql查库存 try { - list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); + list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference); }catch (Exception e){ throw new ServiceException("sql错误"); } @@ -98,7 +98,7 @@ public class ShippingCombinationService { } //根据sql查库存 - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference); return list; } @@ -112,7 +112,7 @@ public class ShippingCombinationService { } //根据sql查库存 - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference); return list; } diff --git a/src/main/resources/mybatis/config/LocationMapper.xml b/src/main/resources/mybatis/config/LocationMapper.xml index 00802a4..87c959e 100644 --- a/src/main/resources/mybatis/config/LocationMapper.xml +++ b/src/main/resources/mybatis/config/LocationMapper.xml @@ -13,6 +13,7 @@ <result column="iColumn" jdbcType="INTEGER" property="iColumn" /> <result column="iLayer" jdbcType="INTEGER" property="iLayer" /> <result column="iGrid" jdbcType="INTEGER" property="iGrid" /> + <result column="roadway" jdbcType="VARCHAR" property="roadway" /> <result column="name" jdbcType="VARCHAR" property="name" /> <result column="lastCycleCountDate" jdbcType="TIMESTAMP" property="lastCycleCountDate" /> <result column="created" jdbcType="TIMESTAMP" property="created" /> @@ -33,7 +34,7 @@ <sql id="Base_Column_List"> <!--@mbg.generated--> id, code, warehouseCode, zoneCode, locationType, containerCode, iRow, iColumn, iLayer, - iGrid, `name`, `enable`, lastCycleCountDate, created, createdBy, lastUpdated, lastUpdatedBy, + iGrid, roadway, `name`, `enable`, lastCycleCountDate, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, systemCreated </sql> diff --git a/src/main/resources/templates/config/filterConfigDetail/add.html b/src/main/resources/templates/config/filterConfigDetail/add.html index 1bf507e..7a557fe 100644 --- a/src/main/resources/templates/config/filterConfigDetail/add.html +++ b/src/main/resources/templates/config/filterConfigDetail/add.html @@ -24,12 +24,12 @@ <!--<input id="recordType" name="recordType" class="form-control" type="text">--> <!--</div>--> <!--</div>--> - <div class="form-group"> - <label class="col-sm-3 control-label">条件名:</label> - <div class="col-sm-8"> - <input id="filterCode" name="filterCode" class="form-control" type="text"> - </div> - </div> + <!--<div class="form-group">--> + <!--<label class="col-sm-3 control-label">条件名:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="filterCode" name="filterCode" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> <div class="form-group"> <label class="col-sm-3 control-label">描述:</label> <div class="col-sm-8"> @@ -43,6 +43,12 @@ </div> </div> <div class="form-group"> + <label class="col-sm-3 control-label">后续分组排序:</label> + <div class="col-sm-8"> + <input id="statements" name="statements" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> <label class="col-sm-3 control-label">是否系统创建:</label> <div class="col-sm-8"> <div class="onoffswitch"> @@ -82,15 +88,6 @@ code:{ required:true, }, - // moduleType:{ - // required:true, - // }, - // recordType:{ - // required:true, - // }, - filterCode:{ - required:true, - }, }, submitHandler: function(form) { // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); diff --git a/src/main/resources/templates/config/filterConfigDetail/edit.html b/src/main/resources/templates/config/filterConfigDetail/edit.html index 0dc9136..cecdd27 100644 --- a/src/main/resources/templates/config/filterConfigDetail/edit.html +++ b/src/main/resources/templates/config/filterConfigDetail/edit.html @@ -25,12 +25,7 @@ <!--<input id="recordType" name="recordType" class="form-control" type="text" th:field="*{recordType}">--> <!--</div>--> <!--</div>--> - <div class="form-group"> - <label class="col-sm-3 control-label">条件名:</label> - <div class="col-sm-8"> - <input id="filterCode" name="filterCode" class="form-control" type="text" th:field="*{filterCode}"> - </div> - </div> + <div class="form-group"> <label class="col-sm-3 control-label">描述:</label> <div class="col-sm-8"> @@ -83,15 +78,6 @@ code:{ required:true, }, - // moduleType:{ - // required:true, - // }, - // recordType:{ - // required:true, - // }, - filterCode:{ - required:true, - }, }, submitHandler: function(form) { // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); diff --git a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html index b728ed2..feef6db 100644 --- a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html +++ b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html @@ -92,6 +92,10 @@ title : '全SQL' }, { + field : 'statements', + title : '后续分组排序' + }, + { field : 'systemCreated', title : '是否系统创建', formatter: function (value, item, index) { diff --git a/src/main/resources/templates/config/location/addBatch.html b/src/main/resources/templates/config/location/addBatch.html index 972b851..cb097aa 100644 --- a/src/main/resources/templates/config/location/addBatch.html +++ b/src/main/resources/templates/config/location/addBatch.html @@ -30,6 +30,12 @@ </div> </div> <div class="form-group"> + <label class="col-sm-3 control-label">巷道:</label> + <div class="col-sm-8"> + <input id="roadway" name="roadway" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> <label class="col-sm-3 control-label">库位类型:</label> <div class="col-sm-8"> <select id="locationType" name="locationType" class="form-control" th:with="locationType=${@locationType.getLocationPrefix()}"> @@ -104,6 +110,7 @@ "iColumn": $("input[name='iColumn']").val(), "iLayer": $("input[name='iLayer']").val(), "iGrid": $("input[name='iGrid']").val(), + "roadway": $("input[name='roadway']").val(), "locationType": $("#locationType option:selected").val(), "zoneCode": $("#zone option:selected").attr("code"), "status" : $("#status option:selected").val(), diff --git a/src/main/resources/templates/config/location/location.html b/src/main/resources/templates/config/location/location.html index 7582f1c..06d13b5 100644 --- a/src/main/resources/templates/config/location/location.html +++ b/src/main/resources/templates/config/location/location.html @@ -68,7 +68,7 @@ <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:location:add"> <i class="fa fa-plus"></i> 新增 </a> - <a class="btn btn-outline btn-primary btn-rounded" onclick="addBatch()" shiro:hasPermission="config:location:add"> + <a class="btn btn-outline btn-primary btn-rounded" onclick="addBatch()" shiro:hasPermission="config:location:addBatch"> <i class="fa fa-plus-square-o"></i> 批量新增 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:location:remove"> @@ -133,6 +133,10 @@ title : '格' }, { + field : 'roadway', + title : '巷道' + }, + { field : 'name', title : '名称', visible : false diff --git a/src/main/resources/templates/config/waveMaster/add.html b/src/main/resources/templates/config/waveMaster/add.html index 03fade8..7e1217e 100644 --- a/src/main/resources/templates/config/waveMaster/add.html +++ b/src/main/resources/templates/config/waveMaster/add.html @@ -68,21 +68,25 @@ <div class="form-group"> <label class="col-sm-3 control-label">是否补货:</label> <div class="col-sm-8"> - <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);"> - <input type="radio" id="needReplenishment1" name="needReplenishment" value="true" checked="checked" - class="radio_select"> - <label for="needReplenishment1">是</label> - </div> - <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);"> - <input type="radio" id="needReplenishment2" name="needReplenishment" value="false"> - <label for="needReplenishment2">否</label> + <div class="onoffswitch"> + <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="needReplenishment" name="needReplenishment"> + <label class="onoffswitch-label" for="needReplenishment"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">取消波次时保留补货任务:</label> <div class="col-sm-8"> - <input id="holdRplnTask" name="holdRplnTask" class="form-control" type="text"> + <div class="onoffswitch"> + <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="holdRplnTask" name="holdRplnTask"> + <label class="onoffswitch-label" for="holdRplnTask"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> + </div> </div> </div> <!--<div class="form-group"> diff --git a/src/main/resources/templates/config/waveMaster/edit.html b/src/main/resources/templates/config/waveMaster/edit.html index a95770c..a2e2383 100644 --- a/src/main/resources/templates/config/waveMaster/edit.html +++ b/src/main/resources/templates/config/waveMaster/edit.html @@ -69,23 +69,28 @@ <div class="form-group"> <label class="col-sm-3 control-label">是否补货:</label> <div class="col-sm-8"> - <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);"> - <input type="radio" id="needReplenishment1" name="needReplenishment" value="true" th:field="*{needReplenishment}" - class="radio_select"> - <label for="needReplenishment1">是</label> - </div> - <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);"> - <input type="radio" id="needReplenishment2" name="needReplenishment" value="false" th:field="*{needReplenishment}"> - <label for="needReplenishment2">否</label> + <div class="onoffswitch"> + <input type="checkbox" th:checked="*{needReplenishment}" class="onoffswitch-checkbox" id="needReplenishment" name="needReplenishment"> + <label class="onoffswitch-label" for="needReplenishment"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> </div> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">取消波次时保留补货任务:</label> <div class="col-sm-8"> - <input id="holdRplnTask" name="holdRplnTask" class="form-control" type="text" th:field="*{holdRplnTask}"> + <div class="onoffswitch"> + <input type="checkbox" th:checked="*{holdRplnTask}" class="onoffswitch-checkbox" id="holdRplnTask" name="holdRplnTask"> + <label class="onoffswitch-label" for="holdRplnTask"> + <span class="onoffswitch-inner"></span> + <span class="onoffswitch-switch"></span> + </label> + </div> </div> </div> + <!--<div class="form-group"> <label class="col-sm-3 control-label">数据版本:</label> <div class="col-sm-8"> diff --git a/src/main/resources/templates/config/waveMaster/waveMaster.html b/src/main/resources/templates/config/waveMaster/waveMaster.html index 496759c..9654780 100644 --- a/src/main/resources/templates/config/waveMaster/waveMaster.html +++ b/src/main/resources/templates/config/waveMaster/waveMaster.html @@ -104,8 +104,8 @@ <div class="tab-pane fade" id="tabDetail"> <div class="btn-group hidden-xs" id="toolbar2" role="group"> - <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()" - shiro:hasPermission="config:waveFlowHeader:add"> + <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()" style="display:none;" + id="detailAdd" shiro:hasPermission="config:waveFlowHeader:add"> <i class="fa fa-plus"></i> 新增 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="detailBatRemove()" @@ -216,7 +216,15 @@ }, { field : 'holdRplnTask', - title : '取消波次时保留补货任务' + title : '取消波次时保留补货任务', + formatter: function (value, item, index) { + if (value==true) { + return '<span class="badge" style="background-color: #00B83F;color: white;width: 36px;">' + ' 是 ' + '</span>'; + } + else if (value==false) { + return '<span class="badge" style="background-color: #ff0000;color: white;width: 36px;">' + ' 否 ' + '</span>'; + } + } }, { field : 'created', @@ -524,6 +532,7 @@ function detailReg(rowId){ headerId = rowId; + $("#detailAdd").css("display","block"); detail(); } @@ -598,7 +607,7 @@ } function detailAdd() { - var url = prefix2+"/add"; + var url = prefix2+"/add/"+headerId; $.modal.open("添加明细", url); }