This commit is contained in:
zds
2022-12-22 10:15:02 +08:00
parent f4ea6660e0
commit 17bf4dbfeb
5 changed files with 21 additions and 12 deletions

View File

@@ -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服务端

View File

@@ -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 {

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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 = {}