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