优化
This commit is contained in:
@@ -41,12 +41,11 @@ import java.util.Map;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class AcsToWmsServiceImpl implements AcsToWmsService {
|
public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||||
private final TaskService taskService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wmsToAcsService;
|
private WmsToAcsService wmsToAcsService;
|
||||||
private final FlourworkService flourworkService;
|
private final FlourworkService flourworkService;
|
||||||
//私有锁
|
//私有锁
|
||||||
private Object object = new Object();
|
private static Object object = new Object();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* * ACS客户端--->WMS服务端
|
* * ACS客户端--->WMS服务端
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import org.nl.modules.system.util.CodeUtil;
|
|||||||
import org.nl.pda.exception.PdaRequestException;
|
import org.nl.pda.exception.PdaRequestException;
|
||||||
import org.nl.pda.st.out.service.HandPFOutIvtService;
|
import org.nl.pda.st.out.service.HandPFOutIvtService;
|
||||||
import org.nl.utils.SecurityUtils;
|
import org.nl.utils.SecurityUtils;
|
||||||
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
||||||
import org.nl.wms.basedata.master.service.MaterialbaseService;
|
import org.nl.wms.basedata.master.service.MaterialbaseService;
|
||||||
import org.nl.wms.basedata.master.service.dto.MaterialbaseDto;
|
import org.nl.wms.basedata.master.service.dto.MaterialbaseDto;
|
||||||
@@ -25,6 +26,7 @@ import org.nl.wms.st.core.task.InTask;
|
|||||||
import org.nl.wms.st.instor.service.HandMoveStorService;
|
import org.nl.wms.st.instor.service.HandMoveStorService;
|
||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
|
import org.redisson.Redisson;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -46,9 +48,6 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService {
|
|||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
private final HandMoveStorService handMoveStorService;
|
private final HandMoveStorService handMoveStorService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
RedissonClient redisLock;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> scanPoint(Map<String, String> jsonObject) {
|
public Map<String, Object> scanPoint(Map<String, String> jsonObject) {
|
||||||
JSONObject returnjo = new JSONObject();
|
JSONObject returnjo = new JSONObject();
|
||||||
@@ -828,6 +827,7 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService {
|
|||||||
if (sect_rows.size() > 0) {
|
if (sect_rows.size() > 0) {
|
||||||
struct_map.put("sect_flag", "1");
|
struct_map.put("sect_flag", "1");
|
||||||
}
|
}
|
||||||
|
RedissonClient redisLock= SpringContextHolder.getBean(RedissonClient.class);
|
||||||
//获取锁
|
//获取锁
|
||||||
RLock lock = redisLock.getLock("QST_IVT_RAWASSISTISTOR02");
|
RLock lock = redisLock.getLock("QST_IVT_RAWASSISTISTOR02");
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
|
|||||||
if (StrUtil.isNotEmpty(material_id)) {
|
if (StrUtil.isNotEmpty(material_id)) {
|
||||||
map.put("material_id", "%" + material_id + "%");
|
map.put("material_id", "%" + material_id + "%");
|
||||||
}
|
}
|
||||||
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.planstart_time,WorkOrder.workorder_code");
|
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.planend_time,mb.material_code,WorkOrder.pcsn");
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -38,10 +38,12 @@ import org.nl.wms.st.vehicle.task.ReplenishVehicleTask;
|
|||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
import org.nl.wql.util.WqlUtil;
|
import org.nl.wql.util.WqlUtil;
|
||||||
|
import org.redisson.Redisson;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -54,7 +56,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
/**
|
/**
|
||||||
* Created by ZZ on 2021/12/27.
|
* Created by ZZ on 2021/12/27.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public abstract class AbstractInManage {
|
public abstract class AbstractInManage {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BussConfig bussConfig = SpringContextHolder.getBean(BussConfig.class);
|
private BussConfig bussConfig = SpringContextHolder.getBean(BussConfig.class);
|
||||||
@@ -76,8 +77,6 @@ public abstract class AbstractInManage {
|
|||||||
private PointService pointService = SpringContextHolder.getBean(PointService.class);
|
private PointService pointService = SpringContextHolder.getBean(PointService.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private MaterialbaseService materialbaseService = SpringContextHolder.getBean(MaterialbaseService.class);
|
private MaterialbaseService materialbaseService = SpringContextHolder.getBean(MaterialbaseService.class);
|
||||||
@Autowired
|
|
||||||
RedissonClient redisLock;
|
|
||||||
|
|
||||||
public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
|
public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
@@ -715,8 +714,13 @@ public abstract class AbstractInManage {
|
|||||||
if (sect_rows.size() > 0) {
|
if (sect_rows.size() > 0) {
|
||||||
struct_map.put("sect_flag", "1");
|
struct_map.put("sect_flag", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RedissonClient redisLock=SpringContextHolder.getBean(RedissonClient.class);
|
||||||
|
|
||||||
//获取锁
|
//获取锁
|
||||||
RLock lock = redisLock.getLock("QST_IVT_RAWASSISTISTOR02");
|
RLock lock = redisLock.getLock("QST_IVT_RAWASSISTISTOR02");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 尝试加锁,最多等待1000ms,上锁以后5s自动解锁
|
// 尝试加锁,最多等待1000ms,上锁以后5s自动解锁
|
||||||
boolean isLock = lock.tryLock(1000, 5000, TimeUnit.MILLISECONDS);
|
boolean isLock = lock.tryLock(1000, 5000, TimeUnit.MILLISECONDS);
|
||||||
@@ -727,7 +731,7 @@ public abstract class AbstractInManage {
|
|||||||
if (ObjectUtil.isNotEmpty(whereJson.get("is_pc"))){
|
if (ObjectUtil.isNotEmpty(whereJson.get("is_pc"))){
|
||||||
throw new BadRequestException("未查询到适用仓位!");
|
throw new BadRequestException("未查询到适用仓位!");
|
||||||
}else{
|
}else{
|
||||||
throw new PdaRequestException("未查询到适用仓位!");
|
throw new BadRequestException("未查询到适用仓位!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sect_id = struct_jo.getString("sect_id");
|
sect_id = struct_jo.getString("sect_id");
|
||||||
@@ -747,11 +751,11 @@ public abstract class AbstractInManage {
|
|||||||
lock_map.put("inv_code", mst.get("bill_code"));
|
lock_map.put("inv_code", mst.get("bill_code"));
|
||||||
inbillService.operatePoint("0", lock_map);
|
inbillService.operatePoint("0", lock_map);
|
||||||
}else{
|
}else{
|
||||||
throw new PdaRequestException("分配货位并发锁获取失败,请稍后再试!");
|
throw new BadRequestException("分配货位并发锁获取失败,请稍后再试!");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw new PdaRequestException("分配货位并发锁获取失败,请稍后再试!");
|
throw new BadRequestException("分配货位并发锁获取失败,请稍后再试!");
|
||||||
} finally {
|
} finally {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,6 +153,9 @@
|
|||||||
<el-table-column prop="pcsn" min-width="80" label="批次"/>
|
<el-table-column prop="pcsn" min-width="80" label="批次"/>
|
||||||
<el-table-column prop="workorder_qty" min-width="70" label="重量" :formatter="crud.formatNum0"/>
|
<el-table-column prop="workorder_qty" min-width="70" label="重量" :formatter="crud.formatNum0"/>
|
||||||
<el-table-column prop="bill_qty" min-width="90" label="开单总重量" :formatter="crud.formatNum3" />
|
<el-table-column prop="bill_qty" min-width="90" label="开单总重量" :formatter="crud.formatNum3" />
|
||||||
|
<el-table-column prop="planstart_time" label="计划开始日期" min-width="100" :formatter="workorder_dateFormat" />
|
||||||
|
<el-table-column prop="planend_time" label="计划结束日期" min-width="100" :formatter="workorder_dateFormat3" />
|
||||||
|
<el-table-column prop="formula_time" min-width="135" label="开单时间"/>
|
||||||
<el-table-column :formatter="create_modeFormat" min-width="160" prop="create_mode" label="生成方式" />
|
<el-table-column :formatter="create_modeFormat" min-width="160" prop="create_mode" label="生成方式" />
|
||||||
<el-table-column prop="qty_unit_name" min-width="80" label="单位"/>
|
<el-table-column prop="qty_unit_name" min-width="80" label="单位"/>
|
||||||
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="75" label="工令类型" />
|
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="75" label="工令类型" />
|
||||||
@@ -271,6 +274,9 @@ export default {
|
|||||||
workorder_dateFormat(row) {
|
workorder_dateFormat(row) {
|
||||||
return row.planstart_time.substring(0, 10)
|
return row.planstart_time.substring(0, 10)
|
||||||
},
|
},
|
||||||
|
workorder_dateFormat3(row) {
|
||||||
|
return row.planend_time.substring(0, 10)
|
||||||
|
},
|
||||||
handleCurrentChange() {
|
handleCurrentChange() {
|
||||||
this.checkrows = []
|
this.checkrows = []
|
||||||
this.mstrow = {}
|
this.mstrow = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user