add:增加一键解锁点位功能
This commit is contained in:
@@ -164,36 +164,89 @@ https://juejin.cn/post/6844903775631572999
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<root level="debug">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
<logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</root>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
</logger>
|
||||
<logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.reflections.Reflections" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.springframework" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterPubSubConnectionPool" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterConnectionPool" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.Version" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.alibaba.druid.pool.DruidDataSource" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.nl.config.RedisConfig" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.hibernate" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="io.netty" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="io.lettuce" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.fasterxml" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<logger name="springfox" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.nl.modules.wql" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<logger name="log4jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.springframework.data" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<logger name="nl.basjes" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.jinterop" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<logger name="com.yomahub.tlog.id.snowflake.UniqueIdGenerator" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.yomahub.tlog.core.rpc.TLogRPCHandler" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
</springProfile>
|
||||
|
||||
|
||||
@@ -128,8 +128,8 @@
|
||||
size="mini"
|
||||
type="warning"
|
||||
icon="el-icon-circle-close"
|
||||
:loading="downloadLoading"
|
||||
@click="relse"
|
||||
:disabled="crud.selections.length === 0"
|
||||
@click="relse(crud.selections)"
|
||||
>一键解锁出库点
|
||||
</el-button>
|
||||
<el-button
|
||||
@@ -513,8 +513,12 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
relse() {
|
||||
crudSchBaseRegion.relse()
|
||||
relse(data) {
|
||||
const ids = data.map(r => r.point_code)
|
||||
crudSchBasePoint.relse(ids).then(res => {
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
})
|
||||
},
|
||||
getPointTypeList(id, flag) {
|
||||
crudSchBaseRegion.getPointTypeSelectById(id).then(res => {
|
||||
|
||||
@@ -56,4 +56,12 @@ export function changeLock(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, changeUsed, getPointList, getRegionPoints, changeLock }
|
||||
export function relse(data) {
|
||||
return request({
|
||||
url: 'api/schBasePoint/relse',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, changeUsed, getPointList, getRegionPoints, changeLock, relse }
|
||||
|
||||
@@ -197,9 +197,9 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
|
||||
}
|
||||
List<Structattr> insertList = new ArrayList<>();
|
||||
Set<String> existCodesInFile = new HashSet<>();
|
||||
final String SECT_ID = "1985610807760785408";
|
||||
final String SECT_CODE = "1BC";
|
||||
final String SECT_NAME = "1楼半成品";
|
||||
final String SECT_ID = "2005471899915784192";
|
||||
final String SECT_CODE = "1BCDJQ";
|
||||
final String SECT_NAME = "1楼半成品待检区";
|
||||
final String STOR_ID = "1985609997907791872";
|
||||
final String STOR_CODE = "firstfloorBC";
|
||||
final String STOR_NAME = "1楼半成品";
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.warehouse_manage.record.service.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.warehouse_manage.record.service.dao.mapper.StIvtStructivtflowMapper;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -82,10 +83,11 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
|
||||
|
||||
@Autowired
|
||||
private IStSectStrategyService iStSectStrategyService;
|
||||
@Autowired
|
||||
private StIvtStructivtflowMapper stIvtStructivtflowMapper;
|
||||
|
||||
@Override
|
||||
public IPage<Structattr> queryAll(Map whereJson, PageQuery page) {
|
||||
|
||||
String search = (String) whereJson.get("search");
|
||||
String stor_id = (String) whereJson.get("stor_id");
|
||||
String sect_id = (String) whereJson.get("sect_id");
|
||||
@@ -146,6 +148,29 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
|
||||
return structattrMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void syncStorageVehicleCode() {
|
||||
//查询st_ivt_structivtflow表范围为update_time大于'2026-06-14 10:18:00'的数据,
|
||||
//根据update_time升序遍历集合,如果growth=true则代表新增库存,把vehicle_code更新到st_ivt_structattr表的storagevehicle_code字段中;
|
||||
//如果growth==false则代表减少库存,把vehicle_code更新到st_ivt_structattr表的storagevehicle_code字段为NULL;
|
||||
List<StIvtStructivtflow> list = stIvtStructivtflowMapper.selectList(
|
||||
new LambdaQueryWrapper<StIvtStructivtflow>()
|
||||
.gt(StIvtStructivtflow::getUpdate_time, "2026-06-14 10:18:00")
|
||||
.orderByAsc(StIvtStructivtflow::getUpdate_time)
|
||||
);
|
||||
for (StIvtStructivtflow r : list) {
|
||||
LambdaUpdateWrapper<Structattr> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(Structattr::getUpdate_time, DateUtil.now());
|
||||
if (Boolean.TRUE.equals(r.getGrowth())) {
|
||||
updateWrapper.set(Structattr::getStoragevehicle_code, r.getVehicle_code());
|
||||
} else {
|
||||
updateWrapper.set(Structattr::getStoragevehicle_code, null);
|
||||
}
|
||||
updateWrapper.eq(Structattr::getStruct_code, r.getStruct_code());
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 超托库位搜索条件
|
||||
*/
|
||||
@@ -255,6 +280,9 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
|
||||
if (ObjectUtil.isEmpty(dto.getWidth())) {
|
||||
lambdaUpdateWrapper.set(Structattr::getWidth, null);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(dto.getWidth())) {
|
||||
lambdaUpdateWrapper.set(Structattr::getWidth, null);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(dto.getStoragevehicle_code())) {
|
||||
lambdaUpdateWrapper.set(Structattr::getStoragevehicle_code, null);
|
||||
}
|
||||
|
||||
@@ -108,4 +108,11 @@ public class SchBasePointController {
|
||||
schBasePointService.changeLock(points);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("释放出库点")
|
||||
@PostMapping("/relse")
|
||||
public ResponseEntity<Object> relse(@RequestBody List<String> pointCodes) {
|
||||
schBasePointService.relse(pointCodes);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,4 +113,11 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
*/
|
||||
List<SchBasePoint> checkEndPointTask(String regionCode, String getLockType, String sortType, String
|
||||
pointType, String pointCode, String vehicleIsNull, boolean isFourPoint);
|
||||
|
||||
/**
|
||||
* 释放出库点
|
||||
*
|
||||
* @param pointCodes 点位编码列表
|
||||
*/
|
||||
void relse(List<String> pointCodes);
|
||||
}
|
||||
|
||||
@@ -217,6 +217,25 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
return pointMapper.selectByIdLock(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void relse(List<String> pointCodes) {
|
||||
String now = DateUtil.now();
|
||||
String userId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
LambdaUpdateWrapper<SchBasePoint> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.in(SchBasePoint::getPoint_code, pointCodes)
|
||||
.set(SchBasePoint::getLock_up, false)
|
||||
.set(SchBasePoint::getPoint_status, "1")
|
||||
.set(SchBasePoint::getIs_has_workder,"0")
|
||||
.set(SchBasePoint::getVehicle_code, null)
|
||||
.set(SchBasePoint::getUpdate_id, userId)
|
||||
.set(SchBasePoint::getUpdate_name, nickName)
|
||||
.set(SchBasePoint::getUpdate_time, now);
|
||||
this.update(wrapper);
|
||||
log.info(nickName+"在:"+now+",手动一键解锁了出库区点位:"+pointCodes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unLockPoint(String point_code) {
|
||||
this.update(
|
||||
|
||||
Reference in New Issue
Block a user