From 91eca979b480dff62809368a5c6563c9e0fcc851 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期日, 08 六月 2025 08:29:49 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 26
src/main/java/com/zy/asrs/entity/TaskWrk.java | 14
src/main/resources/application-prod.yml | 4
src/main/resources/mapper/BasShuttleMapper.xml | 1
src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java | 30
src/main/java/com/zy/asrs/task/GetshuttlerStatusScheduler.java | 94 ++
src/main/java/com/zy/asrs/service/OpenService.java | 3
src/main/java/com/zy/asrs/entity/param/CarryParam.java | 8
src/main/java/com/zy/asrs/utils/Utils.java | 7
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 310 ++++----
src/main/java/com/zy/asrs/service/TaskWrkService.java | 4
src/main/java/com/zy/core/MainProcess.java | 15
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 6
src/main/java/com/zy/asrs/entity/BasShuttle.java | 39
src/main/java/com/zy/asrs/controller/OpenController.java | 241 ------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 671 +++++++++++--------
src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java | 1
src/main/java/com/zy/common/utils/HttpHandler.java | 2
src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 88 +
src/main/resources/mapper/TaskWrkMapper.xml | 12
src/main/java/com/zy/asrs/task/AutoReportStartHandler.java | 2
src/main/java/com/zy/asrs/task/TaskMastScheduler.java | 61 -
src/main/java/com/zy/asrs/task/RepositionLED.java | 2
src/main/webapp/static/wms/image/logo.png | 0
src/main/java/com/zy/asrs/entity/param/GetShuttleStatusParam.java | 73 ++
src/main/java/com/zy/common/config/RedisConfig.java | 3
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 197 ++---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 73 -
src/main/webapp/static/wcs/images/logo.png | 0
src/main/resources/application.yml | 12
30 files changed, 1,052 insertions(+), 947 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 460f85b..ae0890e 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -12,6 +12,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.BasShuttleServiceImpl;
import com.zy.asrs.utils.Utils;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
@@ -61,155 +62,8 @@
public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
add("ea1f0459efc02a79f046f982767939ae");
}};
- //agv浠诲姟瀹屾垚
- @PostMapping("/toAgvTaskOver")
- @AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛")
- public R getAgvTaskOver(@RequestHeader String appkey,
- @RequestBody TaskOverParam param,
- HttpServletRequest request){
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getWharfCode())){
- return R.error("鐮佸ご[wharfCode]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getStatus())){
- return R.error("瀹屾垚鏍囪[status]涓嶈兘涓虹┖");
- }
- openService.getAgvTaskOver(param);
- return R.ok();
- }
-
- //鍒涘缓浠诲姟
- @PostMapping("/taskCreate")
- @Transactional
- public R taskCreate(@RequestHeader String appkey,
- @RequestBody List<TaskCreateParam> param1,
- HttpServletRequest request) {
- auth(appkey, param1, request);
- try{
- List<TaskCreateParam> paramList = new ArrayList<>();
- List<String> locNoList = new ArrayList<>();
- for (TaskCreateParam param : param1) {
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getTaskNo())) {
- return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getIoType())) {
- return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getBarcode())) {
- return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
- }
- String locNo=null;
- if(param.getIoType()==1){
- locNo=param.getTargetPoint();
- }else{
- locNo=param.getStartPoint();
- }
- try{
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", locNo).ne("loc_sts","X"));
- if (Cools.isEmpty(locMast)){
- log.error("搴撲綅鍙蜂笉瀛樺湪"+locNo);
- return R.error("搴撲綅鍙蜂笉瀛樺湪"+locNo).add("搴撲綅鍙蜂笉瀛樺湪"+locNo);
- }
- }catch (Exception e){
- log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
- return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
- }
- LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_sts","F")
- .eq("loc_no",locNo)
- .eq("barcode",param.getBarcode()));
- if(Cools.isEmpty(locMast)){
- return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint());
- }
- if (!locNoList.contains(locMast.getLocNo())){
- locNoList.add(locMast.getLocNo());
- paramList.add(param);
- }else {
- return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�"+locMast.getLocNo());
- }
- }
- for (TaskCreateParam param : paramList){
- openService.taskCreate(param);
- }
- }catch (Exception e){
- log.error("浠诲姟涓嬪彂寮傚父"+e);
- return R.error();
- }
- return R.ok();
- }
-
- //鏌ヨ浠诲姟璇︽儏
- @GetMapping("/queryTask")
- public R queryTask(@RequestHeader String appkey,
- @RequestParam String taskNo,
- HttpServletRequest request) {
- auth(appkey, taskNo, request);
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
- if (taskWrk == null) {
- return R.error("浠诲姟涓嶅瓨鍦�");
- }
- return R.ok().add(taskWrk);
- }
-
- //鍙栨斁璐х敵璇�
- @PostMapping("/pick/and/place/v1")
- @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
- public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
- @RequestBody TaskOverParam param,
- HttpServletRequest request){
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getStaNo())){
- return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getType())){
- return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
- }
- return openService.getAgvPickAndPlaceV1(param);
- }
-
- //鍙栨斁璐у畬鎴愬弽棣�
- @PostMapping("/pick/and/place/v2")
- @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
- public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
- @RequestBody TaskOverParam param,
- HttpServletRequest request){
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getStaNo())){
- return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getType())){
- return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
- }
- return openService.getAgvPickAndPlaceV2(param);
- }
-
- //鏌ヨ浠诲姟鎸囦护闆嗗悎
- @GetMapping("/queryTaskCommand")
- public R queryTaskCommand(@RequestHeader String appkey,
- @RequestParam String taskNo,
- HttpServletRequest request) {
- auth(appkey, taskNo, request);
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
- if (taskWrk == null) {
- return R.error("浠诲姟涓嶅瓨鍦�");
- }
-
- List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo);
- return R.ok().add(commandInfos);
- }
+ @Autowired
+ private BasShuttleServiceImpl basShuttleService;
private void auth(String appkey, Object obj, HttpServletRequest request) {
log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj));
@@ -224,12 +78,11 @@
//浠诲姟涓嬪彂鎺ュ彛
@PostMapping("/outboundTaskSend")
- @Transactional
+// @Transactional
public HashMap<String, Object> outboundTaskSend(@RequestBody HashMap<String,Object> hashMap) {
String jsonString = JSON.toJSONString(hashMap.get("TaskList"));
List<CarryParam> params= JSONObject.parseArray(jsonString,CarryParam.class);
HashMap<String, Object> map = new HashMap<>();
- List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
for (CarryParam param:params){
if (Cools.isEmpty(param)){
map.put("Code","0");
@@ -245,8 +98,8 @@
return map;
}
String fusion = Utils.Fusion(param.getOriginalRowNo(), param.getOriginalFloorNo(), param.getOriginalColumnNo());
- param.setStartPoint(fusion);
- LocMast locMast = locMastService.selectByLocNo(param.getStartPoint());
+ param.setOriginStartPoint(fusion);
+ LocMast locMast = locMastService.selectByLocNo(fusion);
if(Cools.isEmpty(locMast)){
map.put("Code","0");
map.put("Msg","鍒濆搴撲綅鏃犳硶鎵惧埌锛�");
@@ -259,14 +112,13 @@
//鍑哄簱浠诲姟鍒涘缓
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("type_no",2)
- .eq("crn_no",locMast.getCrnNo())
.eq("stn_no",param.getTerminalNo()));
if(Cools.isEmpty(staDesc)){
map.put("Code","0");
map.put("Msg","鍑哄簱璺姴涓嶅瓨鍦紒");
return map;
}
- r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo()));
+ r = openService.taskCreate(param);
if(r.get("Code").equals("0")){
return r;
}
@@ -274,7 +126,7 @@
String fusion1 = Utils.Fusion(param.getGoalRowNo(), param.getGoalFloorNo(), param.getGoalColumnNo());
param.setTerminalNo(fusion1);
//绉诲簱浠诲姟鍒涘缓
- r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo()));
+ r = openService.taskCreate(param);
if(r.get("Code").equals("0")){
return r;
}
@@ -352,22 +204,12 @@
@GetMapping("/deviceStatus")
@Transactional
public R deviceStatus() {
- List<CrnStatusParam> crnStatusParams=new ArrayList<>();
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
- for (BasCrnp basCrnp:basCrnps){
- CrnStatusParam crnStatusParam=new CrnStatusParam();
- crnStatusParam.setCrnNo(basCrnp.getCrnNo());
- crnStatusParam.setCrnSts(basCrnp.getCrnSts());
- crnStatusParam.setErrorCode(basCrnp.getCrnErr());
- BasCrnError error=basCrnErrorService.selectOne(new EntityWrapper<BasCrnError>().eq("error_code",basCrnp.getCrnErr()));
- if(Cools.isEmpty(error)){
- crnStatusParam.setErrorMsg("");
- }else {
- crnStatusParam.setErrorMsg(error.getErrName());
- }
- crnStatusParams.add(crnStatusParam);
- }
- return R.ok(crnStatusParams);
+ HashMap<String,Object> map = new HashMap<>();
+ List<BasShuttle> basShuttle = basShuttleService.selectList(null);
+ List<BasDevp> basDevp = basDevpService.selectList(null);
+ map.put("basShuttle",basShuttle);
+ map.put("basDevp",basDevp);
+ return R.ok(map);
}
//璁惧鐘舵�佹煡璇㈡帴鍙�
@@ -381,50 +223,19 @@
return "ok";
}
- public static <T> List<T> convertListMapToListObject(List<HashMap<String, Object>> listMap, Class<T> clazz) throws Exception {
- List<T> list = new ArrayList<>();
-
- for (Map<String, Object> map : listMap) {
- T obj = clazz.getDeclaredConstructor().newInstance();
-
- for (Map.Entry<String, Object> entry : map.entrySet()) {
- String key = entry.getKey();
- Object value = entry.getValue();
-
- try {
- Field field = clazz.getDeclaredField(key);
- field.setAccessible(true);
- setFieldValue(obj, field, value);
- } catch (NoSuchFieldException e) {
- System.out.println("No such field: " + key + " in class " + clazz.getName());
- }
- }
-
- list.add(obj);
+ //rcs鍜寃cs鏍¢獙鍏ュ簱宸ヤ綔鍙锋槸鍚︿竴鑷�
+ //璁惧鐘舵�佹煡璇㈡帴鍙�
+ @PostMapping("/devpdeviceStatusTaskNo")
+ @Transactional
+ public String devpDeviceStatusTaskNo(@RequestBody HashMap staNo) {
+ BasDevp basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",staNo.get("staNo")));
+ String taskNo=staNo.get("superTaskNo").toString();
+ if(Cools.isEmpty(basDevp)&&Cools.isEmpty(taskNo)){
+ return "no";
+ }else if(!basDevp.getWrkNo().equals(Integer.valueOf(taskNo))){
+ return "no";
}
-
- return list;
- }
- private static void setFieldValue(Object obj, Field field, Object value) throws IllegalAccessException {
- Class<?> fieldType = field.getType();
-
- if (fieldType.isAssignableFrom(value.getClass())) {
- field.set(obj, value);
- } else if (fieldType == int.class || fieldType == Integer.class) {
- field.set(obj, ((Number) value).intValue());
- } else if (fieldType == long.class || fieldType == Long.class) {
- field.set(obj, ((Number) value).longValue());
- } else if (fieldType == double.class || fieldType == Double.class) {
- field.set(obj, ((Number) value).doubleValue());
- } else if (fieldType == float.class || fieldType == Float.class) {
- field.set(obj, ((Number) value).floatValue());
- } else if (fieldType == boolean.class || fieldType == Boolean.class) {
- field.set(obj, (Boolean) value);
- } else if (fieldType == String.class) {
- field.set(obj, String.valueOf(value));
- } else {
- System.out.println("Unsupported field type: " + fieldType.getName());
- }
+ return "ok";
}
}
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index d090386..d904c90 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -61,22 +61,24 @@
@RequestMapping(value = "/taskWrk/list/auth")
@ManagerAuth
- public R list(@RequestParam(defaultValue = "1")Integer curr,
- @RequestParam(defaultValue = "10")Integer limit,
- @RequestParam(required = false)String orderByField,
- @RequestParam(required = false)String orderByType,
- @RequestParam Map<String, Object> param){
+ public R list(@RequestParam(defaultValue = "1") Integer curr,
+ @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam(required = false) String orderByField,
+ @RequestParam(required = false) String orderByType,
+ @RequestParam Map<String, Object> param) {
EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>();
excludeTrash(param);
convert(param, wrapper);
- if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+ if (!Cools.isEmpty(orderByField)) {
+ wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+ }
return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper));
}
- private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
- for (Map.Entry<String, Object> entry : map.entrySet()){
+ private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
String val = String.valueOf(entry.getValue());
- if (val.contains(RANGE_TIME_LINK)){
+ if (val.contains(RANGE_TIME_LINK)) {
String[] dates = val.split(RANGE_TIME_LINK);
wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
@@ -93,9 +95,9 @@
return R.ok();
}
- @RequestMapping(value = "/taskWrk/update/auth")
- @ManagerAuth
- public R update(TaskWrk taskWrk){
+ @RequestMapping(value = "/taskWrk/update/auth")
+ @ManagerAuth
+ public R update(TaskWrk taskWrk) {
if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) {
return R.error();
}
@@ -105,7 +107,7 @@
@RequestMapping(value = "/taskWrk/updatePoint/auth")
@ManagerAuth
- public R updatePoint(TaskWrk taskWrk){
+ public R updatePoint(TaskWrk taskWrk) {
if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) {
return R.error();
}
@@ -123,8 +125,8 @@
@RequestMapping(value = "/taskWrk/delete/auth")
@ManagerAuth
- public R delete(@RequestParam(value="ids[]") Long[] ids){
- for (Long id : ids){
+ public R delete(@RequestParam(value = "ids[]") Long[] ids) {
+ for (Long id : ids) {
taskWrkService.deleteById(id);
}
return R.ok();
@@ -132,7 +134,7 @@
@RequestMapping(value = "/taskWrk/export/auth")
@ManagerAuth
- public R export(@RequestBody JSONObject param){
+ public R export(@RequestBody JSONObject param) {
EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>();
List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
Map<String, Object> map = excludeTrash(param.getJSONObject("taskWrk"));
@@ -148,7 +150,7 @@
wrapper.like("id", condition);
Page<TaskWrk> page = taskWrkService.selectPage(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
- for (TaskWrk taskWrk : page.getRecords()){
+ for (TaskWrk taskWrk : page.getRecords()) {
Map<String, Object> map = new HashMap<>();
map.put("id", taskWrk.getTaskNo());
map.put("value", taskWrk.getTaskNo());
@@ -161,7 +163,7 @@
@ManagerAuth
public R query(@RequestBody JSONObject param) {
Wrapper<TaskWrk> wrapper = new EntityWrapper<TaskWrk>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
- if (null != taskWrkService.selectOne(wrapper)){
+ if (null != taskWrkService.selectOne(wrapper)) {
return R.parse(BaseRes.REPEAT).add(getComment(TaskWrk.class, String.valueOf(param.get("key"))));
}
return R.ok();
@@ -178,72 +180,44 @@
@ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟")
public R complete(@RequestParam String taskNo) {
TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
- if (Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3){
- return R.error("宸插畬缁撴垨宸插彇娑�") ;
+ if (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) {
+ return R.error("宸插畬缁撴垨宸插彇娑�");
}
- LocMast locMast=new LocMast();
- if(taskWrk.getIoType()==1){//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎
- locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+ LocMast locMast = new LocMast();
+ if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎
+ locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (Cools.isEmpty(locMast)) {
+ R.error("娌℃湁鎵惧埌璇ュ簱浣�");
}
locMast.setLocSts("F");
locMast.setModiTime(new Date());
locMast.setBarcode(taskWrk.getBarcode());
- }else if(taskWrk.getIoType()==2){//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛
- locMast=locMastService.selectByLocNo(taskWrk.getStartPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+ } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛
+ locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (Cools.isEmpty(locMast)) {
+ R.error("娌℃湁鎵惧埌璇ュ簱浣�");
}
locMast.setLocSts("O");
locMast.setModiTime(new Date());
- }else if(taskWrk.getIoType()==3){
- locMast=locMastService.selectByLocNo(taskWrk.getStartPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+ } else if (taskWrk.getIoType() == 3) {
+ locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ if (Cools.isEmpty(locMast)) {
+ R.error("娌℃湁鎵惧埌璇ュ簱浣�");
}
locMast.setLocSts("O");
locMast.setModiTime(new Date());
locMastService.updateById(locMast);
- locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint());
- if(Cools.isEmpty(locMast)){
- R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+ locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ if (Cools.isEmpty(locMast)) {
+ R.error("娌℃湁鎵惧埌璇ュ簱浣�");
}
locMast.setLocSts("F");
locMast.setModiTime(new Date());
locMast.setBarcode(taskWrk.getBarcode());
}
- String response="";
- try{
- HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("TaskNo",taskWrk.getTaskNo());
- headParam.put("Result",1);
-// headParam.put("reportTime",new Date());
- log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk);
- response = new HttpHandler.Builder()
- // .setHeaders(headParam)
- .setUri(wmsUrl)
- .setPath(TaskExecCallback)
- .setJson(JSON.toJSONString(headParam))
- .build()
- .doPost();
-
- JSONObject jsonObject = JSON.parseObject(response);
- apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms"
- ,wmsUrl+TaskExecCallback
- ,null
- ,"127.0.0.1"
- ,JSON.toJSONString(headParam)
- ,response
- ,true
- );
- }catch (Exception e){
- log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response);
-// throw new CoolException(e);
- }
locMastService.updateById(locMast);
- taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟
+ taskWrk.setStatus(6);//鎵嬪姩瀹屾垚浠诲姟
taskWrk.setModiTime(new Date());
taskWrkService.updateById(taskWrk);
return R.ok();
@@ -253,20 +227,20 @@
@ManagerAuth(memo = "閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟")
public R returnWorkingCondition(@RequestParam String taskNo) {
TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
- if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==12){
+ if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 12) {
taskWrk.setWrkSts(11);
- if(!taskWrkService.updateById(taskWrk)){
+ if (!taskWrkService.updateById(taskWrk)) {
return R.error("鏇存柊浠诲姟鐘舵�佸け璐�");
}
return R.ok();
- } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==3) {
+ } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 3) {
taskWrk.setWrkSts(2);
taskWrkService.updateById(taskWrk);
- if(!taskWrkService.updateById(taskWrk)){
+ if (!taskWrkService.updateById(taskWrk)) {
return R.error("鏇存柊浠诲姟鐘舵�佸け璐�");
}
return R.ok();
- }else{
+ } else {
return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曢噸鏂扮粰鍫嗗灈鏈轰笅鍙戜换鍔�");
}
@@ -285,39 +259,12 @@
Date now = new Date();
taskWrk.setStatus(TaskStatusType.CANCEL.id);
taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
- try{
+ try {
taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
- }catch (Exception e){
+ } catch (Exception e) {
taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
}
- String response="";
- try{
- HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("TaskNo",taskWrk.getTaskNo());
- headParam.put("Result",0);
-// headParam.put("reportTime",new Date());
-
- log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk);
- response = new HttpHandler.Builder()
- // .setHeaders(headParam)
- .setUri(wmsUrl)
- .setPath(TaskExecCallback)
- .setJson(JSON.toJSONString(headParam))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms"
- ,wmsUrl+TaskExecCallback
- ,null
- ,"127.0.0.1"
- ,JSON.toJSONString(headParam)
- ,response
- ,true
- );
- }catch (Exception e){
- log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response);
-// throw new CoolException(e);
- }
+ taskWrk.setStatus(4);//鎵嬪姩鍙栨秷
taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
taskWrkService.updateById(taskWrk);
return R.ok();
@@ -338,8 +285,8 @@
return R.ok();
}
- public static String getTaskType(Integer paramIoType){
- switch (paramIoType){
+ public static String getTaskType(Integer paramIoType) {
+ switch (paramIoType) {
case 1:
return "RK";
case 2:
@@ -354,32 +301,40 @@
@PostMapping(value = "/taskWrk/state")
// @ManagerAuth(memo = "鎺ユ敹RCS浠诲姟鐘舵��")
public R taskWrkState(@RequestBody NotifyDto notifyDto) {
+ R r = R.ok();
log.info("鎺ユ敹RCS浠诲姟鐘舵��={}", notifyDto);
TaskWrk taskWrk = taskWrkService.selectByTaskNo(notifyDto.getSuperTaskNo());//wms浠诲姟鍙�
if (taskWrk == null) {
- return R.error("娌℃湁鎵惧埌璇ヤ换鍔�={"+notifyDto+"}");
+ return R.error("娌℃湁鎵惧埌璇ヤ换鍔�={" + notifyDto + "}");
}
Date now = new Date();
- if(notifyDto.getMsgType().equals("task_complete")){
+
+ /**
+ * 浠诲姟瀹屾垚
+ */
+ switch (notifyDto.getMsgType()) {
+ case "task_complete":
+ r = taskWrkService.taskComplete(taskWrk);
+ break;
}
- if(notifyDto.getMsgType().equals("task_complete")&&taskWrk.getIoType()==3){
- taskWrk.setWrkSts(7);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗�
-
- //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣�
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
- locMast.setLocSts("O");
- locMastService.updateById(locMast);
-
- //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱
- LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint());
- locMast2.setLocSts("F");
- locMastService.updateById(locMast2);
- taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
- taskWrk.setModiUser(9998L);//鎿嶄綔鍛�
- taskWrkService.updateById(taskWrk);
- }
- return R.ok();
+// if (notifyDto.getMsgType().equals("task_complete") && taskWrk.getIoType() == 3) {//绉诲簱
+// taskWrk.setWrkSts(7);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗�
+//
+// //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣�
+// LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+// locMast.setLocSts("O");
+// locMastService.updateById(locMast);
+//
+// //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱
+// LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+// locMast2.setLocSts("F");
+// locMastService.updateById(locMast2);
+// taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
+// taskWrk.setModiUser(9998L);//鎿嶄綔鍛�
+// taskWrkService.updateById(taskWrk);
+// }
+ return r;
}
}
diff --git a/src/main/java/com/zy/asrs/entity/BasShuttle.java b/src/main/java/com/zy/asrs/entity/BasShuttle.java
index 02f128c..23c79a4 100644
--- a/src/main/java/com/zy/asrs/entity/BasShuttle.java
+++ b/src/main/java/com/zy/asrs/entity/BasShuttle.java
@@ -31,9 +31,9 @@
private Integer shuttleNo;
/**
- * 鐘舵�� 1: 姝e父 0: 绂佺敤
+ * 鐘舵�� 0: 鎵嬪姩 1: 姝e父 2.鍏呯數涓�
*/
- @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ")
+ @ApiModelProperty(value= "鐘舵�� 0: 鎵嬪姩 1: 姝e父 2.鍏呯數涓� ")
private Integer status;
/**
@@ -42,6 +42,20 @@
@ApiModelProperty(value= "褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛�")
@TableField("shuttle_status")
private Integer shuttleStatus;
+
+ /**
+ * 灏忚溅鎵�鍦ㄥ眰
+ */
+ @ApiModelProperty(value= "灏忚溅鎵�鍦ㄥ眰")
+ @TableField("charge_line")
+ private Integer chargeLine;
+
+ /**
+ * 鏄惁鍏呯數鐘舵��
+ */
+ @ApiModelProperty(value= "鏄惁鍏呯數鐘舵��")
+ @TableField("auto_charge")
+ private Integer autoCharge;
/**
* 浠诲姟鍙�
@@ -56,20 +70,6 @@
@ApiModelProperty(value= "鏆傚瓨搴撲綅")
@TableField("idle_loc")
private String idleLoc;
-
- /**
- * 鑷姩鍏呯數
- */
- @ApiModelProperty(value= "鑷姩鍏呯數")
- @TableField("auto_charge")
- private Integer autoCharge;
-
- /**
- * 鐢甸噺绾�
- */
- @ApiModelProperty(value= "鐢甸噺绾�")
- @TableField("charge_line")
- private Integer chargeLine;
/**
* 娣诲姞浜哄憳
@@ -135,6 +135,13 @@
@TableField("disable_lev")
private String disableLev;
+ /**
+ * 灏忚溅寮傚父鐮�
+ */
+ @ApiModelProperty(value= "灏忚溅寮傚父鐮�")
+ @TableField("errorCode")
+ private Integer errorCode;
+
public BasShuttle() {}
public BasShuttle(Integer shuttleNo, Integer status, Integer shuttleStatus, Integer wrkNo, String idleLoc, Integer autoCharge, Integer chargeLine, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo, Boolean pakMk, String deviceStatus) {
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index 6ea89df..b2083da 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -48,9 +48,9 @@
private String taskNo;
/**
- * 浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 3: 瀹岀粨 4: 鍙栨秷
+ * 浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 4: 鍙栨秷浠诲姟涓婃姤wms 5.鍙栨秷浠诲姟 6: 瀹岀粨浠诲姟涓婃姤wms 7.瀹岀粨
*/
- @ApiModelProperty(value= "浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 4: 鍙栨秷 5: 瀹岀粨 ")
+ @ApiModelProperty(value= "浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 4: 鍙栨秷浠诲姟涓婃姤wms 5.鍙栨秷浠诲姟 6: 瀹岀粨浠诲姟涓婃姤wms 7.瀹岀粨 ")
private Integer status;
/**
@@ -87,14 +87,14 @@
/**
* 璧风偣
*/
- @ApiModelProperty(value= "璧风偣")
+ @ApiModelProperty(value= "婧愮珯鐐�")
@TableField("start_point")
private String startPoint;
/**
- * 缁堢偣
+ * 鐩爣绔欑偣
*/
- @ApiModelProperty(value= "缁堢偣")
+ @ApiModelProperty(value= "鐩爣绔欑偣")
@TableField("target_point")
private String targetPoint;
@@ -182,11 +182,11 @@
@TableField("transfer_mark")
private Integer transferMark;
- @ApiModelProperty(value = "鍘熷璧风偣")
+ @ApiModelProperty(value = "婧愬簱浣�")
@TableField("origin_start_point")
private String originStartPoint;
- @ApiModelProperty(value = "鍘熷缁堢偣")
+ @ApiModelProperty(value = "鐩爣搴撲綅")
@TableField("origin_target_point")
private String originTargetPoint;
diff --git a/src/main/java/com/zy/asrs/entity/param/CarryParam.java b/src/main/java/com/zy/asrs/entity/param/CarryParam.java
index 63dc5ce..524eef6 100644
--- a/src/main/java/com/zy/asrs/entity/param/CarryParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CarryParam.java
@@ -16,6 +16,12 @@
//瀹瑰櫒缂栫爜
private String BoxNo;
+ //婧愬簱浣�
+ private String originStartPoint;
+
+ //鐩爣搴撲綅
+ private String originTargetPoint;
+
//婧愯揣浣嶆帓缂栧彿
private Integer OriginalRowNo;
@@ -34,7 +40,7 @@
//鐩爣搴撲綅鍒楃紪鍙�
private Integer GoalColumnNo;
- //璧风偣
+ //婧愮珯鐐�
private String startPoint;
//缁堢缂栧彿锛堣緭閫佺嚎涓婃煇涓�鐐逛綅锛�
diff --git a/src/main/java/com/zy/asrs/entity/param/GetShuttleStatusParam.java b/src/main/java/com/zy/asrs/entity/param/GetShuttleStatusParam.java
new file mode 100644
index 0000000..dff4f2b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/GetShuttleStatusParam.java
@@ -0,0 +1,73 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GetShuttleStatusParam {
+
+ /**
+ * 灏忚溅鍙�
+ */
+ private Integer shuttleNo;
+
+ /**
+ * 灏忚溅妯″紡 0锛氭墜鍔� 1锛氳嚜鍔�
+ */
+ private Integer mode;
+ /**
+ * 灏忚溅鐘舵��
+ * <p>
+ * IDLE(1, "绌洪棽"),
+ * WORKING(2, "浣滀笟涓�"),
+ * WAITING(3, "绛夊緟纭"),
+ * CHARGING(4, "鍏呯數涓�"),
+ * CHARGING_WAITING(5, "鍏呯數浠诲姟绛夊緟纭"),
+ * FIXING(6, "鏁呴殰淇涓�"),
+ * OFFLINE(7, "绂荤嚎"),
+ */
+ private Integer protocolStatus;
+ /**
+ * 褰撳墠浜岀淮鐮�
+ * 0涓虹┖
+ */
+ private String currentCode;
+
+ /**
+ * 鏄惁涓哄厖鐢电姸鎬�
+ */
+ private Boolean hasCharge;
+
+ private Integer errorCode;
+
+ public String getProtocolStatus$() {
+ String protocolStatus$ = "";
+ switch (this.protocolStatus) {
+ case 1:
+ protocolStatus$ = "绌洪棽";
+ break;
+ case 2:
+ protocolStatus$ = "浣滀笟涓�";
+ break;
+ case 3:
+ protocolStatus$ = "绛夊緟纭";
+ break;
+ case 4:
+ protocolStatus$ = "鍏呯數涓�";
+ break;
+ case 5:
+ protocolStatus$ = "鍏呯數浠诲姟绛夊緟纭";
+ break;
+ case 6:
+ protocolStatus$ = "鏁呴殰淇涓�";
+ break;
+ case 7:
+ protocolStatus$ = "绂荤嚎";
+ break;
+
+
+ }
+ return protocolStatus$;
+ }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java b/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java
index ca34bf2..9c25d4e 100644
--- a/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StorageEscalationParam.java
@@ -5,6 +5,7 @@
@Data
public class StorageEscalationParam {
+ private Integer taskNo;
//鎵樼洏鐮�
private String boxNo;
//鎵ц鐘舵�� 0锛氭垚鍔� 1锛氬け璐�
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 7175c40..d86c10b 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service;
import com.core.common.R;
+import com.zy.asrs.entity.param.CarryParam;
import com.zy.asrs.entity.param.TaskOverParam;
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.TaskCreateParam;
@@ -11,7 +12,7 @@
public interface OpenService {
//鍒涘缓浠诲姟
- HashMap<String,Object> taskCreate(TaskCreateParam param);
+ HashMap<String,Object> taskCreate(CarryParam param);
R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException;
diff --git a/src/main/java/com/zy/asrs/service/TaskWrkService.java b/src/main/java/com/zy/asrs/service/TaskWrkService.java
index e62ee0b..55dace8 100644
--- a/src/main/java/com/zy/asrs/service/TaskWrkService.java
+++ b/src/main/java/com/zy/asrs/service/TaskWrkService.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service;
+import com.core.common.R;
import com.zy.asrs.entity.TaskWrk;
import com.baomidou.mybatisplus.service.IService;
@@ -30,4 +31,7 @@
int saveToHistory(String taskNo);//灏嗕换鍔¤浆鍘嗗彶鏃ュ織
+ //RCS涓婃姤浠诲姟瀹屾垚锛屽瀹屾垚浠诲姟杩涜澶勭悊
+ R taskComplete(TaskWrk taskWrk);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 288ec0b..7f27a55 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -22,6 +22,7 @@
import com.zy.asrs.utils.Utils;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.RedisUtil;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
@@ -103,15 +104,21 @@
private String TaskExecCallback;
@Value("${wms.taskStatusFeedbackPath}")
private String taskStatusFeedbackPath;
+ @Value("${wms.returnWarehouse}")
+ private String returnWarehouse;
@Value("${wcs.urlWcs}")
private String wcsUrl;
@Value("${wcs.inboundTaskApplyPathWcs}")
private String wcsInboundTaskApplyPath;
+ @Value("${wcs.outboundTaskRequest}")
+ private String outboundTaskRequest;
@Autowired
private CrnController crnController;
@Autowired
private SiteController siteController;
+ @Autowired
+ private RedisUtil redisUtil;
public synchronized void generateStoreWrkFile1() throws IOException, InterruptedException {
@@ -134,7 +141,7 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
&& staProtocol.isInEnable()
- && !staProtocol.isEmptyMk() && workNo >= 9790
+ && !staProtocol.isEmptyMk() && workNo >= 9998
&& staProtocol.isPakMk()) {
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
@@ -145,17 +152,17 @@
if (BoxNo.equals("00000000")) {
storageEscalationParam.setWCSStatus(1);
storageEscalationParam.setWCSErrorMessage("娌℃湁鎵埌鐮�");
- BasDevp basDevp= basDevpService.selectOne(new EntityWrapper<BasDevp>()
- .eq("dev_no",staProtocol.getSiteId()));
- if(Cools.isEmpty(basDevp)){
- log.error("鎵爜澶辫触骞朵笖娌℃湁鎵惧埌璇ョ珯鐐�---"+staProtocol.getSiteId());
- }else{
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>()
+ .eq("dev_no", staProtocol.getSiteId()));
+ if (Cools.isEmpty(basDevp)) {
+ log.error("鎵爜澶辫触骞朵笖娌℃湁鎵惧埌璇ョ珯鐐�---" + staProtocol.getSiteId());
+ } else {
basDevp.setStaErr(1);//娌℃湁鎵埌鐮�
basDevp.setStaErrMsg("娌℃湁鎵埌鐮侊紒");
basDevpService.updateById(basDevp);
}
continue;
- }else{
+ } else {
TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
if (!Cools.isEmpty(taskWrk1)) {
log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�");
@@ -185,24 +192,26 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("ReturnStatus")) && jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
- Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
+ if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("returnStatus")) && jsonObject.get("returnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("results").toString())) {
+ Result result = JSON.parseObject(jsonObject.get("results").toString(), Result.class);
// 鍒涙柊涓�涓叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()+"");
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo() + "");
if (Cools.isEmpty(taskWrk)) {
- taskWrk = createTask1(result, BoxNo,staProtocol.getSiteId());
+ taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
if (Cools.isEmpty(taskWrk)) {
log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
} else {
taskWrkService.insert(taskWrk);
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("TaskNo", taskWrk.getTaskNo());
Boolean bool = false;
+
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo((short) 0);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
try {
//寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
response = new HttpHandler.Builder()
@@ -212,9 +221,139 @@
.build()
.doPost();
JSONObject jsonObject1 = JSON.parseObject(response);
-
if (jsonObject1.get("ReturnStatus").equals(0)) {
bool = true;
+
+ }
+
+ } catch (Exception e) {
+
+ } finally {
+ apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
+ , wmsUrl + TaskExecCallback
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(hashMap)
+ , response
+ , bool
+ );
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触");
+ log.error("寮傚父淇℃伅鎵撳嵃锛�" + e);
+ try {
+ BasDevp basDevp = basDevpService.selectById(inSta.getStaNo());
+ if (Cools.isEmpty(basDevp)) {
+ log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo());
+ } else if (basDevp.getStaErr() != 0) {
+ basDevp.setStaErr(2);
+ basDevpService.updateById(basDevp);
+ }
+ } catch (Exception e1) {
+ // 閫�鍥�
+ log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1);
+ }
+ } finally {
+ apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
+ , wmsUrl + inboundTaskApplyPath
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(storageEscalationParam)
+ , response
+ , success
+ );
+ }
+ log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
+ log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("generateStoreWrkFile e", e);
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ }
+
+ public synchronized void EmptyPlates() throws IOException, InterruptedException {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ Short workNo = staProtocol.getWorkNo();
+ Short stano = staProtocol.getStaNo();
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing() && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && staProtocol.isEmptyMk() && workNo ==9999
+ && staProtocol.isPakMk()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String BoxNo = barcodeThread.getBarcode();
+
+ log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
+ storageEscalationParam.setBoxNo(BoxNo);
+ storageEscalationParam.setWcsIoType(2);//绌烘澘
+ storageEscalationParam.setWcsSourceStaNo(staProtocol.getSiteId());
+ String response = "";
+ Boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath(inboundTaskApplyPath)
+ .setJson(JSON.toJSONString(storageEscalationParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("returnStatus")) && jsonObject.get("returnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("results").toString())) {
+ Result result = JSON.parseObject(jsonObject.get("results").toString(), Result.class);
+ // 鍒涙柊涓�涓叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo() + "");
+ if (Cools.isEmpty(taskWrk)) {
+ taskWrk = createTask1(result, BoxNo, staProtocol.getSiteId());
+ if (Cools.isEmpty(taskWrk)) {
+ log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
+ } else {
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ taskWrkService.insert(taskWrk);
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("TaskNo", taskWrk.getTaskNo());
+ Boolean bool = false;
+
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo((short) 0);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+ try {
+ //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath(taskStatusFeedbackPath)
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ JSONObject jsonObject1 = JSON.parseObject(response);
+ if (jsonObject1.get("ReturnStatus").equals(0)) {
+ bool = true;
+
}
} catch (Exception e) {
@@ -272,55 +411,56 @@
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
public synchronized void crnStnToOutStn() {
- for (CrnSlave crnSlave : slaveProperties.getCrn()) {
- // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
- for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
- List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
- for (StaDesc staDesc : staDescs) {
- try {
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
- // 鏌ヨ宸ヤ綔妗�
- TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString());
- if (taskWrk == null) {
- continue;
- }
- log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getStnNo().shortValue());
- boolean offer = false;
- try {
- offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
- } catch (Exception e) {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
- }
-// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
- if (offer) {
- log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
- taskWrk.setStatus(5);
- taskWrk.setWrkSts(16);
- taskWrkService.updateById(taskWrk);
-
- } else {
- log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
- }
- }
- } catch (Exception e) {
- log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍑哄簱鍙�
+ for (DevpSlave.Sta outSta : devp.getOutSta()) {
+ try {
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
}
- }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
+ // 鏌ヨ宸ヤ綔妗�
+ TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
+ .eq("target_point", staProtocol.getSiteId())
+ .eq("wrk_sts", 15));
+ if (taskWrk == null) {
+ continue;
+ }
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo((short) 0);
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+ }
+// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// taskWrk.setStatus(5);
+ taskWrk.setWrkSts(16);
+ taskWrkService.updateById(taskWrk);
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
+ }
+ }
+ } catch (Exception e) {
+ log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+ }
}
+
+
}
}
@@ -328,89 +468,82 @@
* 鍏ュ嚭搴� ===>> 璋冪敤RCS杩涜鍏ュ嚭搴�
*/
public synchronized void crnIoExecute() throws IOException {
- for (CrnSlave crn : slaveProperties.getCrn()) {
- this.crnStnToLoc(crn); // 鍏ュ簱
- this.locToCrnStn(crn); // 鍑哄簱
- // 搴撲綅绉昏浆
+ this.crnStnToLoc(); // 鍏ュ簱
+ this.locToCrnStn(); // 鍑哄簱
+ // 搴撲綅绉昏浆
// this.locToLoc(crn, crnProtocol);
- }
}
/**
* 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣�
*/
- public synchronized void crnStnToLoc(CrnSlave slave) throws IOException {
- for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
- List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo()));
- for (StaDesc staDesc : staDescs) {
- boolean flag = false;
- // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ public synchronized void crnStnToLoc() throws IOException {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
if (staProtocol == null) {
continue;
} else {
staProtocol = staProtocol.clone();
}
// 鏌ヨ绔欑偣璇︾粏淇℃伅
- BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ BasDevp staDetl = basDevpService.selectById(staProtocol.getSiteId());
if (staDetl == null) {
- log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", staProtocol.getSiteId());
continue;
}
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() < 9990
&& staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
- flag = true;
- }
- if (!flag) {
- continue;
- }
-
- // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
- if (null == taskWrk) {
- continue;
- }
-
- String mbz = taskWrk.getTargetPoint().substring(5);
-
- HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("taskNo", taskWrk.getTaskNo());//wms浠诲姟鍙�
- hashMap.put("sourceStaNo", staDetl.getDevNo());//婧愮珯鐐�
- hashMap.put("staNo", Integer.parseInt(mbz) + "");//鐩爣绔�
- hashMap.put("locNo", taskWrk.getTargetPoint());//鐩爣搴撲綅
- String response = "";
- Boolean bool = false;
- try {
- //寮�濮嬩笂鎶�,鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
- response = new HttpHandler.Builder()
- .setUri(wcsUrl)
- .setPath(wcsInboundTaskApplyPath)
- .setJson(JSON.toJSONString(hashMap))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
-
- if (jsonObject.get("code").equals(200)) {
- bool = true;
-// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
- taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
- taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鎴愬姛涓嬪彂鍏ュ簱浠诲姟缁橰CS
- taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
- taskWrk.setModiTime(new Date());
- taskWrk.setModiUser(9988L);
+ // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectPakIn(null, staProtocol.getWorkNo().intValue(), staProtocol.getSiteId().toString());
+ if (null == taskWrk) {
+ continue;
}
- } catch (Exception e) {
- } finally {
- apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟缁橰CS"
- , wcsUrl + wcsInboundTaskApplyPath
- , null
- , "127.0.0.1"
- , JSON.toJSONString(hashMap)
- , response
- , bool
- );
+
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("taskNo", taskWrk.getTaskNo());//wms浠诲姟鍙�
+ hashMap.put("sourceStaNo", staDetl.getDevNo());//婧愮珯鐐�
+ hashMap.put("staNo", taskWrk.getTargetPoint());//鐩爣绔�
+ hashMap.put("locNo", taskWrk.getOriginTargetPoint());//鐩爣搴撲綅
+ String response = "";
+ Boolean bool = false;
+ try {
+ //寮�濮嬩笂鎶�,鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ response = new HttpHandler.Builder()
+ .setUri(wcsUrl)
+ .setPath(wcsInboundTaskApplyPath)
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if (jsonObject.getInteger("code").equals(200)) {
+ bool = true;
+// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+ taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
+ taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鎴愬姛涓嬪彂鍏ュ簱浠诲姟缁橰CS
+ taskWrk.setModiTime(new Date());
+ taskWrk.setModiUser(9988L);
+ }
+ } catch (Exception e) {
+ } finally {
+ apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟缁橰CS"
+ , wcsUrl + wcsInboundTaskApplyPath
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(hashMap)
+ , response
+ , bool
+ );
+ }
}
+
+
}
}
}
@@ -419,16 +552,24 @@
* 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
* 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
*/
- public synchronized void locToCrnStn(CrnSlave slave) {
- List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null);
- if (taskWrksInitial.size() == 0) {
- return;
- }
- for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
- List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo()));
- for (StaDesc staDesc : staDescs) {
- // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
- List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut(slave.getId(), staDesc.getStnNo().toString());
+ public synchronized void locToCrnStn() {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta outSta : devp.getOutSta()) {
+ StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut(1, staProtocol.getSiteId().toString());
+ if (taskWrks.size() == 0) {
+ continue;
+ }
for (TaskWrk taskWrk : taskWrks) {
if (taskWrk == null) {
continue;
@@ -444,19 +585,10 @@
//棰勭暀
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
- if (staProtocol == null) {
- break;
- } else {
- staProtocol = staProtocol.clone();
- }
-
// 鏌ヨ绔欑偣璇︾粏淇℃伅
- BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ BasDevp staDetl = basDevpService.selectById(staProtocol.getSiteId());
if (staDetl == null) {
- log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", staProtocol.getSiteId());
break;
}
@@ -464,44 +596,35 @@
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
&& staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) {
- break;
- }
-
- String mbz = taskWrk.getTargetPoint().substring(5);
-
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("taskNo", taskWrk.getTaskNo());//wms浠诲姟鍙�
- hashMap.put("sourceStaNo", staDetl.getDevNo());//婧愮珯鐐�
- hashMap.put("staNo", Integer.parseInt(mbz) + "");//鐩爣绔�
- hashMap.put("locNo", taskWrk.getTargetPoint());//鐩爣搴撲綅
+ hashMap.put("sourceLocNo", taskWrk.getOriginStartPoint());//婧愬簱浣�
+ hashMap.put("staNo", taskWrk.getTargetPoint());//鐩爣绔�
String response = "";
Boolean bool = false;
try {
//寮�濮嬩笂鎶�,鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
response = new HttpHandler.Builder()
.setUri(wcsUrl)
- .setPath(wcsInboundTaskApplyPath)
+ .setPath(outboundTaskRequest)
.setJson(JSON.toJSONString(hashMap))
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.get("code").equals(200)) {
+ if (jsonObject.getInteger("code").equals(200)) {
bool = true;
// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
- taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鎴愬姛涓嬪彂鍏ュ簱浠诲姟缁橰CS
- taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
+ taskWrk.setWrkSts(12);//宸ヤ綔鐘舵�� 12.鎴愬姛涓嬪彂鍑哄簱浠诲姟
taskWrk.setModiTime(new Date());
taskWrk.setModiUser(9988L);
+ taskWrkService.updateById(taskWrk);
}
} catch (Exception e) {
} finally {
apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟缁橰CS"
- , wcsUrl + wcsInboundTaskApplyPath
+ , wcsUrl + outboundTaskRequest
, null
, "127.0.0.1"
, JSON.toJSONString(hashMap)
@@ -509,47 +632,6 @@
, bool
);
}
-
- try {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- taskWrk.setWrkSts(12);
- taskWrk.setModiTime(now);
- if (taskWrkMapper.updateById(taskWrk) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- }
- } catch (Exception e) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
- }
-// try {
-// HashMap<String, Object> headParam = new HashMap<>();
-// headParam.put("taskNo", taskWrk.getTaskNo());
-// headParam.put("status", taskWrk.getStatus());
-// headParam.put("ioType", taskWrk.getIoType());
-// headParam.put("barcode", taskWrk.getBarcode());
-// String response;
-// response = new HttpHandler.Builder()
-// // .setHeaders(headParam)
-// .setUri(wmsUrl)
-// .setPath(taskStatusFeedbackPath)
-// .setJson(JSON.toJSONString(headParam))
-// .build()
-// .doPost();
-// JSONObject jsonObject = JSON.parseObject(response);
-// apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
-// , wmsUrl + taskStatusFeedbackPath
-// , null
-// , "127.0.0.1"
-// , JSON.toJSONString(headParam)
-// , response
-// , true
-// );
-// } catch (Exception e) {
-// log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
-//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
-// }
-
}
}
}
@@ -557,99 +639,117 @@
}
/**
- * 搴撲綅绉昏浆
+ * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
*/
- public synchronized void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
- for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
- // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑绉诲簱宸ヤ綔妗�
- List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>()
- .eq("crn_no", slave.getId())
- .eq("wrk_sts", 11)
- .eq("io_type", 3)
- .orderBy("io_pri", false));
- for (TaskWrk taskWrk : taskWrks) {
-
- // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-// if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
-// String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
-// TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
-// if (!Cools.isEmpty(hallowLocNoTask)){
-// continue;
-// }
-// }
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ public synchronized void stnToCrnStnPick(Integer mark) {
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鎷f枡鍏ュ簱鍙�
+ for (DevpSlave.Sta pickSta : devp.getPickSta()) {
+ StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
+ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+ if (staProtocol == null) {
continue;
- }
-
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) {
- continue;
- }
-
- if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("") || taskWrk.getWrkNo() == null) {
- continue;
- }
- // 宸ヤ綔妗g姸鎬佸垽鏂�
- if (taskWrk.getIoType() != 3 || taskWrk.getTargetPoint() == null) {
- log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/鐩爣搴撲綅鍙�, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getTargetPoint(), taskWrk.getIoType());
- continue;
- }
-
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
-
- // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(Utils.getRowShort(taskWrk.getStartPoint())); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(Utils.getBayShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(Utils.getLevShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
- crnCommand.setCommand((short) 1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
} else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- taskWrk.setWrkSts(12);
- taskWrk.setStatus(2);
- taskWrk.setModiTime(now);
- if (taskWrkMapper.updateById(taskWrk) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- }
+ staProtocol = staProtocol.clone();
+ }
+
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()
+ && staProtocol.getWorkNo() >= 3001 && staProtocol.getWorkNo() <= 6000) {
+
+ storageEscalationParam.setTaskNo(Integer.valueOf(staProtocol.getWorkNo()));
+ String response = "";
+ Boolean success = false;
try {
- HashMap<String, Object> headParam = new HashMap<>();
- headParam.put("TaskNo", taskWrk.getTaskNo());
- String response;
+ //寮�濮嬩笂鎶�,鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱锛學CS鍥炶皟WMS
response = new HttpHandler.Builder()
- // .setHeaders(headParam)
.setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
- .setJson(JSON.toJSONString(headParam))
+ .setPath(returnWarehouse)
+ .setJson(JSON.toJSONString(storageEscalationParam))
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms"
- , wmsUrl + taskStatusFeedbackPath
+ if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get("returnStatus")) && jsonObject.get("returnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("results").toString())) {
+ Result result = JSON.parseObject(jsonObject.get("results").toString(), Result.class);
+ // 鍒涙柊涓�涓叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo() + "");
+ if (Cools.isEmpty(taskWrk)) {
+ taskWrk = createTask1(result, result.getBarcode(), staProtocol.getSiteId());
+ if (Cools.isEmpty(taskWrk)) {
+ log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
+ } else {
+ taskWrkService.insert(taskWrk);
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("TaskNo", taskWrk.getTaskNo());
+ Boolean bool = false;
+
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo((short) 0);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+ try {
+ //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath(taskStatusFeedbackPath)
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ JSONObject jsonObject1 = JSON.parseObject(response);
+ if (jsonObject1.get("ReturnStatus").equals(0)) {
+ bool = true;
+
+ }
+
+ } catch (Exception e) {
+
+ } finally {
+ apiLogService.save("wcs鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱涓婃姤wms"
+ , wmsUrl + TaskExecCallback
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(hashMap)
+ , response
+ , bool
+ );
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ } finally {
+ apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟缁橰CS"
+ , wcsUrl + outboundTaskRequest
, null
, "127.0.0.1"
- , JSON.toJSONString(headParam)
+ , JSON.toJSONString(storageEscalationParam)
, response
- , true
+ , success
);
- } catch (Exception e) {
- log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk);
-// throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触");
}
}
- return;
+
+ }
+ }
+ }
+
+ public void scanForkLift() {
+ for (int i = 1; i <= 2; i++) {
+ Object object = redisUtil.get("fork_lift_put_complete_" + i);
+ if(object != null) {
+ String taskNo = object.toString();
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);//wms浠诲姟鍙�
+ if (taskWrk == null) {
+ log.info("娌℃湁鎵惧埌璇ヤ换鍔�");
+ }else{
+ log.info("鎻愬墠瀹屾垚鍑哄簱浠诲姟={}", taskWrk);
+ taskWrkService.taskComplete(taskWrk);
+ redisUtil.del("fork_lift_put_complete_" + i);
+ }
}
}
@@ -1089,19 +1189,20 @@
return response;
}
- private TaskWrk createTask1(Result result, String barcode,Integer devNo) {
+ private TaskWrk createTask1(Result result, String barcode, Integer devNo) {
Date now = new Date();
TaskWrk taskWrk = new TaskWrk();
// int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
- taskWrk.setTaskNo(result.getTaskNo()+"");//浠诲姟鍙�
+ taskWrk.setTaskNo(result.getTaskNo() + "");//浠诲姟鍙�
taskWrk.setWrkNo(result.getTaskNo());
taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂
taskWrk.setCreateTime(now);
taskWrk.setIoType(1);//浠诲姟绫诲瀷
taskWrk.setIoPri(13);//浼樺厛绾�
+ taskWrk.setWrkSts(2);//2.娲惧彂鍏ュ簱浠诲姟缁橰CS
taskWrk.setBarcode(barcode);//鏉$爜
- taskWrk.setTargetPoint(devNo+"");//绔欑偣缁堢偣
- taskWrk.setStartPoint(devNo+"");//绔欑偣璧风偣
+ taskWrk.setTargetPoint(devNo + result.getShelfUnitId().substring(6));//绔欑偣缁堢偣
+ taskWrk.setStartPoint(devNo + "");//绔欑偣璧风偣
taskWrk.setOriginStartPoint("");//婧愬簱浣�
taskWrk.setOriginTargetPoint(result.getShelfUnitId());//鐩爣搴撲綅
return taskWrk;
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index f2d45cb..6ff4755 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,6 +9,7 @@
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CarryParam;
import com.zy.asrs.entity.param.TaskOverParam;
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.TaskCreateParam;
@@ -66,69 +67,47 @@
@Override
- public HashMap<String, Object> taskCreate(TaskCreateParam param) {
- HashMap<String,Object> map=new HashMap<>();
+ public HashMap<String, Object> taskCreate(CarryParam param) {
+ HashMap<String, Object> map = new HashMap<>();
TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
if (taskWrk != null) {
- map.put("Code","0");
- map.put("Msg",param.getTaskNo()+"浠诲姟宸茬粡鐢熸垚锛�");
+ map.put("Code", "0");
+ map.put("Msg", param.getTaskNo() + "浠诲姟宸茬粡鐢熸垚锛�");
return map;
}
Date now = new Date();
taskWrk = new TaskWrk();
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getStartPoint()));
- int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getOriginStartPoint()));
+// int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
taskWrk.setTaskNo(param.getTaskNo());//浠诲姟鍙�
- taskWrk.setWrkNo(workNo1);
+ taskWrk.setWrkNo(Integer.valueOf(param.getTaskNo()));
taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
taskWrk.setCreateTime(now);
- try {
- if (param.getIoType() > 1) {
- if (Utils.locNoRowBoolean(locMast.getRow1())) {
- param.setTaskPriority(11);
- }
- }
- } catch (Exception e) {
- }
- taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷
- taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾�
- taskWrk.setBarcode(param.getBarcode());//鏉$爜
+ taskWrk.setIoType(param.getStereoscopicTaskType());//浠诲姟绫诲瀷
+ taskWrk.setIoPri(param.getPriority());//浼樺厛绾�
+ taskWrk.setBarcode(param.getBoxNo());//鏉$爜
taskWrk.setCrnNo(locMast.getCrnNo());
- if (param.getIoType() == 1) {
- taskWrk.setWrkSts(1);
- if (!Cools.isEmpty(param.getTargetPoint())) {
- taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣
- taskWrk.setOriginTargetPoint(param.getTargetPoint());
- }
-
- } else if (param.getIoType() == 2) {
+ if (param.getStereoscopicTaskType() == 2) {
taskWrk.setWrkSts(11);
- if (!Cools.isEmpty(param.getStartPoint())) {
- taskWrk.setStartPoint(param.getStartPoint());//璧风偣
- taskWrk.setTargetPoint(param.getTargetPoint());
- }
- taskWrk.setTargetPoint(param.getTargetPoint());
- } else if (param.getIoType() == 3) {
- taskWrk.setWrkSts(11);
- if (!Cools.isEmpty(param.getStartPoint())) {
- taskWrk.setStartPoint(param.getStartPoint());//璧风偣
- taskWrk.setTargetPoint(param.getTargetPoint());
- }
- }
-
-
- if (!Cools.isEmpty(param.getMemo())) {
- taskWrk.setMemo(param.getMemo());//澶囨敞
+ taskWrk.setStartPoint(param.getStartPoint());//婧愮珯鐐�
+ taskWrk.setTargetPoint(param.getTerminalNo());//鐩爣绔�
+ taskWrk.setOriginStartPoint(param.getOriginStartPoint());//婧愬簱浣�
+ } else if (param.getStereoscopicTaskType() == 3) {
+// taskWrk.setWrkSts(11);
+// if (!Cools.isEmpty(param.getStartPoint())) {
+// taskWrk.setStartPoint(param.getStartPoint());//璧风偣
+// taskWrk.setTargetPoint(param.getTargetPoint());
+// }
}
if (!taskWrkService.insert(taskWrk)) {
- map.put("Code","0");
- map.put("Msg",param.getTaskNo()+"鍒涘缓浠诲姟澶辫触锛�");
+ map.put("Code", "0");
+ map.put("Msg", param.getTaskNo() + "鍒涘缓浠诲姟澶辫触锛�");
return map;
}
- map.put("Code","1");
- map.put("Msg","ok");
+ map.put("Code", "1");
+ map.put("Msg", "ok");
return map;
}
@@ -182,7 +161,7 @@
WMSAndAGVInterfaceParam data = JSONObject.parseObject(jsonObject.get("data").toString(), WMSAndAGVInterfaceParam.class);
String msg = null;
try {
- taskCreate(new TaskCreateParam(data));
+// taskCreate(new TaskCreateParam(data));
} catch (Exception e) {
msg = e.getMessage();
}
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
index c237c06..8afe071 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -3,13 +3,16 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.domain.enums.WorkNoType;
+import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.StaDesc;
import com.zy.asrs.mapper.TaskWrkMapper;
import com.zy.asrs.entity.TaskWrk;
import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.StaDescService;
import com.zy.asrs.service.TaskWrkService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -50,6 +53,10 @@
private String taskStatusFeedbackPath;
@Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private TaskWrkService taskWrkService;
@Override
public TaskWrk selectByTaskNo(String taskNo) {
@@ -74,29 +81,7 @@
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void distribute(String taskNo, Long userId) {
- TaskWrk taskWrk = this.selectByTaskNo(taskNo);
- if (taskWrk == null) {
- throw new CoolException("WMS浠诲姟涓嶅瓨鍦�");
- }
- if (taskWrk.getStatus() != 1) {
- throw new CoolException("浠诲姟宸叉淳鍙�");
- }
-
- //鍒涘缓浠诲姟
- if (taskWrk.getIoType() == 1) {
- //1.鍏ュ簱
- if (taskWrk.getStartPoint() == null || taskWrk.getTargetPoint() == null) {
- throw new CoolException("鏈帴鏀跺埌璧风偣鍜岀粓鐐癸紝涓嶈繘琛屾淳鍙�");
- }
- startup(taskWrk, userId);
- }else if(taskWrk.getIoType() == 2){
- //2.鍑哄簱
- stockOut(taskWrk, userId);
- } else if (taskWrk.getIoType() == 3) {
- //3.搴撴牸绉昏浇
- locMove(taskWrk, userId);
- }
}
@Override
@@ -247,4 +232,63 @@
public int saveToHistory(String taskNo) {
return this.baseMapper.saveToHistory(taskNo);
}
+
+ @Override
+ public R taskComplete(TaskWrk taskWrk) {
+ LocMast locMast = new LocMast();
+ switch (taskWrk.getIoType()) {
+ //鍏ュ簱
+ case 1:
+ taskWrk.setModiTime(new Date());
+ taskWrk.setWrkSts(6);//鍏ュ簱瀹屾垚--鍑嗗涓婃姤wms
+ locMast = locMastService.selectByLocNo(taskWrk.getOriginTargetPoint());
+ if (locMast == null) {
+ return R.error("娌℃湁鎵惧埌璇ュ簱浣�="+taskWrk.getOriginTargetPoint());
+ }
+ locMast.setLocSts("F");
+ locMastService.updateById(locMast);
+ break;
+ //鍑哄簱
+ case 2:
+ if(taskWrk.getWrkSts()>=15){
+ return R.ok();
+ }
+ taskWrk.setModiTime(new Date());
+ taskWrk.setWrkSts(15);//RCS鍑哄簱瀹屾垚--銆嬪啓鍏ヨ緭閫佺嚎宸ヤ綔鍙�
+ locMast = locMastService.selectByLocNo(taskWrk.getOriginStartPoint());
+ if (locMast == null) {
+ return R.error("娌℃湁鎵惧埌璇ュ簱浣�="+taskWrk.getOriginStartPoint());
+ }
+ locMast.setLocSts("O");
+ locMastService.updateById(locMast);
+ log.info("RCS鍑哄簱浠诲姟瀹屾垚鏇存柊WCS浠诲姟鐘舵��={}",taskWrk);
+ break;
+ //绉诲簱
+// case 3:
+// taskWrk.setModiTime(new Date());
+// taskWrk.setWrkSts(6);//鍏ュ簱瀹屾垚--鍑嗗涓婃姤wms
+// //婧愬簱浣�
+// locMast = locMastService.selectByLocNo(taskWrk.getOriginTargetPoint());
+// if (locMast == null) {
+// return R.error("娌℃湁鎵惧埌璇ュ簱浣�="+taskWrk.getOriginTargetPoint());
+// }
+// locMast.setLocSts("F");
+// locMastService.updateById(locMast);
+// //鐩爣搴撲綅
+// locMast = locMastService.selectByLocNo(taskWrk.getOriginStartPoint());
+// if (locMast == null) {
+// return R.error("娌℃湁鎵惧埌璇ュ簱浣�="+taskWrk.getOriginStartPoint());
+// }
+// locMast.setLocSts("0");
+// locMastService.updateById(locMast);
+// return R.ok();
+//
+ }
+ if(taskWrkService.updateById(taskWrk)){
+ return R.ok();
+ }else {
+ return R.error("RCS浠诲姟涓婃姤瀹屾垚鏇存柊WCS浠诲姟鐘舵�佸け璐�"+taskWrk);
+ }
+
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 4df73f7..e36f948 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -47,165 +47,165 @@
@Override
@Transactional
public void completeWrkMast(String workNo, Long userId) {
- WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)) {
- throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
- }
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
- throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
- }
- // 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
- wrkMast.setWrkSts(4L);
- // 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
- wrkMast.setWrkSts(14L);
- }
- Date now = new Date();
- wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
- wrkMast.setCrnEndTime(now);
- wrkMast.setModiTime(now);
- wrkMast.setModiUser(userId);
- // 瀹屾垚鎿嶄綔浜哄憳璁板綍
- wrkMast.setManuType("鎵嬪姩瀹屾垚");
- if (!wrkMastService.updateById(wrkMast)) {
- throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
- }
-
- HashMap<String,Object> headParam = new HashMap<>();
- headParam.put("TaskNo",wrkMast.getTaskNo());
- headParam.put("Result",0);//瀹屾垚
-
- try {
- String response;
- log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms={}", wrkMast);
-
- response = new HttpHandler.Builder()
- // .setHeaders(headParam)
- .setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
- .setJson(JSON.toJSONString(headParam))
- .build()
- .doPost();
- apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms"
- , wmsUrl + taskStatusFeedbackPath
- , null
- , "127.0.0.1"
- , JSON.toJSONString(headParam)
- , response
- , true
- );
- } catch (Exception e) {
- log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触={}", wrkMast);
- log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
-// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
- }
+// WrkMast wrkMast = wrkMastService.selectById(workNo);
+// if (Cools.isEmpty(wrkMast)) {
+// throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
+// }
+// if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+// throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
+// }
+// // 鍏ュ簱 + 搴撲綅杞Щ
+// if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
+// wrkMast.setWrkSts(4L);
+// // 鍑哄簱
+// } else if (wrkMast.getWrkSts() > 10) {
+// wrkMast.setWrkSts(14L);
+// }
+// Date now = new Date();
+// wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
+// wrkMast.setCrnEndTime(now);
+// wrkMast.setModiTime(now);
+// wrkMast.setModiUser(userId);
+// // 瀹屾垚鎿嶄綔浜哄憳璁板綍
+// wrkMast.setManuType("鎵嬪姩瀹屾垚");
+// if (!wrkMastService.updateById(wrkMast)) {
+// throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
+// }
+//
+// HashMap<String,Object> headParam = new HashMap<>();
+// headParam.put("TaskNo",wrkMast.getTaskNo());
+// headParam.put("Result",0);//瀹屾垚
+//
+// try {
+// String response;
+// log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms={}", wrkMast);
+//
+// response = new HttpHandler.Builder()
+// // .setHeaders(headParam)
+// .setUri(wmsUrl)
+// .setPath(taskStatusFeedbackPath)
+// .setJson(JSON.toJSONString(headParam))
+// .build()
+// .doPost();
+// apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms"
+// , wmsUrl + taskStatusFeedbackPath
+// , null
+// , "127.0.0.1"
+// , JSON.toJSONString(headParam)
+// , response
+// , true
+// );
+// } catch (Exception e) {
+// log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触={}", wrkMast);
+// log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
+//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+// }
}
@Override
@Transactional
public void cancelWrkMast(String workNo, Long userId) {
- Date now = new Date();
- WrkMast wrkMast = wrkMastService.selectById(workNo);
-
- String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
- String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
- // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
- if (wrkMast.getWrkSts() < 4) {
- locNo = wrkMast.getLocNo();
- locSts = "O";
-
- // 搴撲綅杞Щ
- if (wrkMast.getIoType() == 11) {
- // 搴撲綅杞Щ锛氭簮搴撲綅
- LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
- if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
- }
- locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
- locMast.setModiTime(now);
- locMast.setModiUser(userId);
- locMastService.updateById(locMast);
- }
- // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
- } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
- locNo = wrkMast.getSourceLocNo();
- // 鍑哄簱 ===>> F.鍦ㄥ簱
- if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
- locSts = "F";
- // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
- } else if (wrkMast.getIoType() == 110) {
- locSts = "D";
- // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
- } else if (wrkMast.getIoType() == 11) {
- locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
- // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
- if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
- }
- locMast.setLocSts("O");
- locMast.setModiTime(now);
- locMast.setModiUser(userId);
- locMastService.updateById(locMast);
- }
- } else {
- throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
- }
- // 鍙栨秷鎿嶄綔浜哄憳璁板綍
- wrkMast.setManuType("鎵嬪姩鍙栨秷");
- wrkMast.setModiUser(userId);
- wrkMast.setModiTime(now);
- if (!wrkMastService.updateById(wrkMast)) {
- throw new CoolException("鍙栨秷浠诲姟澶辫触");
- }
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
- throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
- }
-
- // 鍒犻櫎宸ヤ綔涓绘。
- boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
-
- // 淇敼搴撲綅鐘舵��
- LocMast locMast = locMastService.selectById(locNo);
- if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:" + locNo);
- }
- locMast.setLocSts(locSts);
- locMast.setModiTime(now);
- locMast.setModiUser(userId);
- boolean locMastRes = locMastService.updateById(locMast);
- if (!wrkMastRes || !locMastRes) {
- throw new CoolException("淇濆瓨鏁版嵁澶辫触");
- }
- HashMap<String,Object> headParam = new HashMap<>();
- headParam.put("TaskNo",wrkMast.getTaskNo());
- headParam.put("Result",1);//鍙栨秷
-
- try {
- String response;
- log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms={}", wrkMast);
-
- response = new HttpHandler.Builder()
- // .setHeaders(headParam)
- .setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
- .setJson(JSON.toJSONString(headParam))
- .build()
- .doPost();
- apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms"
- , wmsUrl + taskStatusFeedbackPath
- , null
- , "127.0.0.1"
- , JSON.toJSONString(headParam)
- , response
- , true
- );
- } catch (Exception e) {
- log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={}", wrkMast);
- log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
-// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
- }
+// Date now = new Date();
+// WrkMast wrkMast = wrkMastService.selectById(workNo);
+//
+// String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
+// String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
+// // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
+// if (wrkMast.getWrkSts() < 4) {
+// locNo = wrkMast.getLocNo();
+// locSts = "O";
+//
+// // 搴撲綅杞Щ
+// if (wrkMast.getIoType() == 11) {
+// // 搴撲綅杞Щ锛氭簮搴撲綅
+// LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+// if (Cools.isEmpty(locMast)) {
+// throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
+// }
+// locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
+// locMast.setModiTime(now);
+// locMast.setModiUser(userId);
+// locMastService.updateById(locMast);
+// }
+// // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
+// } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+// locNo = wrkMast.getSourceLocNo();
+// // 鍑哄簱 ===>> F.鍦ㄥ簱
+// if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+// locSts = "F";
+// // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
+// } else if (wrkMast.getIoType() == 110) {
+// locSts = "D";
+// // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+// } else if (wrkMast.getIoType() == 11) {
+// locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
+// // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
+// LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+// if (Cools.isEmpty(locMast)) {
+// throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
+// }
+// locMast.setLocSts("O");
+// locMast.setModiTime(now);
+// locMast.setModiUser(userId);
+// locMastService.updateById(locMast);
+// }
+// } else {
+// throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
+// }
+// // 鍙栨秷鎿嶄綔浜哄憳璁板綍
+// wrkMast.setManuType("鎵嬪姩鍙栨秷");
+// wrkMast.setModiUser(userId);
+// wrkMast.setModiTime(now);
+// if (!wrkMastService.updateById(wrkMast)) {
+// throw new CoolException("鍙栨秷浠诲姟澶辫触");
+// }
+// // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+// if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+// throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
+// }
+//
+// // 鍒犻櫎宸ヤ綔涓绘。
+// boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+//
+// // 淇敼搴撲綅鐘舵��
+// LocMast locMast = locMastService.selectById(locNo);
+// if (Cools.isEmpty(locMast)) {
+// throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:" + locNo);
+// }
+// locMast.setLocSts(locSts);
+// locMast.setModiTime(now);
+// locMast.setModiUser(userId);
+// boolean locMastRes = locMastService.updateById(locMast);
+// if (!wrkMastRes || !locMastRes) {
+// throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+// }
+// HashMap<String,Object> headParam = new HashMap<>();
+// headParam.put("TaskNo",wrkMast.getTaskNo());
+// headParam.put("Result",1);//鍙栨秷
+//
+// try {
+// String response;
+// log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms={}", wrkMast);
+//
+// response = new HttpHandler.Builder()
+// // .setHeaders(headParam)
+// .setUri(wmsUrl)
+// .setPath(taskStatusFeedbackPath)
+// .setJson(JSON.toJSONString(headParam))
+// .build()
+// .doPost();
+// apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms"
+// , wmsUrl + taskStatusFeedbackPath
+// , null
+// , "127.0.0.1"
+// , JSON.toJSONString(headParam)
+// , response
+// , true
+// );
+// } catch (Exception e) {
+// log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={}", wrkMast);
+// log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
+//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+// }
}
}
diff --git a/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java b/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java
index 3295e25..ccd60a7 100644
--- a/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AssignTasksRCSScheduler.java
@@ -32,35 +32,41 @@
private String wcsmovePath;
@Value("${wcs.outboundTaskRequest}")
private String wcsoutboundTaskRequest;
+ @Value("${wcs.inboundTaskApplyPathWcs}")
+ private String inboundTaskApplyPathWcs;
@Value("${wms.TaskExecCallback}")
private String TaskExecCallback;
@Value("${wms.taskStatusFeedbackPath}")
private String taskStatusFeedbackPath;
/**
- * 鑷姩娲惧彂鍑哄簱浠诲姟缁橰CS
+ * 鑷姩娲惧彂浠诲姟缁橰CS
*
* @throws IOException
*/
@Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
- if(true){
+ if(false){
List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>()
- .eq("wrk_sts",1).eq("io_type",3));
+ .eq("wrk_sts",1));
for(TaskWrk taskWrk:taskWrks){
HashMap<String, Object> headParam = new HashMap<>();
String response = "";
Boolean bool = false;
String dz="";
- if(taskWrk.getIoType()==2){
+ if(taskWrk.getIoType()==1){//鍏ュ簱
+ dz=inboundTaskApplyPathWcs;
+ headParam.put("sourceStaNo", taskWrk.getStartPoint());//婧愮珯
+ headParam.put("staNo", taskWrk.getTargetPoint());//鐩爣绔�
+ }else if(taskWrk.getIoType()==2){//鍑哄簱
dz=wcsoutboundTaskRequest;
- }else{
+ }else if(taskWrk.getIoType()==3){//绉诲簱
dz=wcsmovePath;
+ headParam.put("sourceLocNo",taskWrk.getStartPoint());//婧愬簱浣�
}
try {
headParam.put("taskNo", taskWrk.getTaskNo());
- headParam.put("sourceLocNo",taskWrk.getStartPoint());//婧愬簱浣�
- headParam.put("locNo",taskWrk.getTargetPoint());//鐩爣搴撲綅
+ headParam.put("locNo",taskWrk.getOriginTargetPoint());//鐩爣搴撲綅
log.info("wcs娲惧彂浠诲姟缁橰CS鍑哄簱={}", taskWrk);
response = new HttpHandler.Builder()
// .setHeaders(headParam)
@@ -71,8 +77,14 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
if(jsonObject.get("code").equals(200)){
- //娲惧彂鍑哄簱浠诲姟缁橰CS==>鎴愬姛涓嬪彂鍑哄簱浠诲姟
- taskWrk.setWrkSts(2);
+ //娲惧彂浠诲姟缁橰CS==>鎴愬姛涓嬪彂鍑哄簱浠诲姟
+ if(taskWrk.getIoType()==1){
+ taskWrk.setWrkSts(3);
+ }else if(taskWrk.getIoType()==2){
+ taskWrk.setWrkSts(12);
+ }else if(taskWrk.getIoType()==3){
+ taskWrk.setWrkSts(3);
+ }
taskWrkService.updateById(taskWrk);
bool = true;
}
diff --git a/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java b/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
index da82e80..b8fdbcb 100644
--- a/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
@@ -102,7 +102,7 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
Boolean bool = false;
- if(jsonObject.get("ReturnStatus").equals(0)){
+ if(jsonObject.get("ReturnStatus").equals("0")){
bool = true;
taskWrk.setMarkStart(1);
taskWrk.setStatus(2);
diff --git a/src/main/java/com/zy/asrs/task/GetshuttlerStatusScheduler.java b/src/main/java/com/zy/asrs/task/GetshuttlerStatusScheduler.java
new file mode 100644
index 0000000..3ddec82
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/GetshuttlerStatusScheduler.java
@@ -0,0 +1,94 @@
+package com.zy.asrs.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasShuttle;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.param.GetShuttleStatusParam;
+import com.zy.asrs.entity.param.Result;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasShuttleService;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+
+@Slf4j
+@Component
+public class GetshuttlerStatusScheduler {
+ @Value("${wcs.urlWcs}")
+ private String wcsUrl;
+ @Value("${wcs.shuttleStatus}")
+ private String shuttleStatus;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private BasShuttleService basShuttleService;
+ /**
+ * 鑾峰彇rcs灏忚溅淇℃伅
+ *
+ * @throws IOException
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void execute() throws IOException {
+ String response = "";
+ Boolean bool = false;
+ try {
+// log.info("wcs鑾峰彇rcs灏忚溅淇℃伅");
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wcsUrl)
+ .setPath(shuttleStatus)
+ .setJson(JSON.toJSONString(""))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.get("code").equals(200)) {
+ JSONObject data = JSON.parseObject(jsonObject.get("data").toString());
+ List<GetShuttleStatusParam> shuttles = JSON.parseArray(data.get("shuttle").toString(), GetShuttleStatusParam.class);
+ for (GetShuttleStatusParam shuttle : shuttles) {
+ //瀵瑰皬杞︿簩缁寸爜杩涜澶勭悊
+ Integer lev=1;
+ //灏忚溅妯″紡
+ Integer mode=0;
+ //灏忚溅鏄惁鍦ㄥ厖鐢�
+ Integer autoCharge=0;
+ if(!Cools.isEmpty(shuttle.getCurrentCode())){
+ JSONObject jsonObject1 = JSON.parseObject(shuttle.getCurrentCode());
+ lev=jsonObject1.getInteger("z");
+ }
+ if(!Cools.isEmpty(shuttle.getMode())){
+ mode=shuttle.getMode();
+ }
+ if(!Cools.isEmpty(shuttle.getHasCharge())&&shuttle.getHasCharge()){
+ mode=2;
+ }
+
+ BasShuttle shuttle1 = basShuttleService.selectOne(new EntityWrapper<BasShuttle>().eq("shuttle_no", shuttle.getShuttleNo()));
+ shuttle1.setStatus(mode);//灏忚溅妯″紡
+ shuttle1.setShuttleStatus(shuttle.getProtocolStatus());//灏忚溅鐘舵��
+ shuttle1.setDeviceStatus(shuttle.getProtocolStatus$());//灏忚溅鐘舵�佷腑鏂囩増
+ shuttle1.setChargeLine(lev);//灏忚溅鎵�鍦ㄥ眰
+ shuttle1.setErrorCode(shuttle.getErrorCode());//寮傚父鐮�
+ basShuttleService.updateById(shuttle1);
+ }
+
+ bool = true;
+ }
+ } catch (Exception e) {
+ log.error("wcs鑾峰彇灏忚溅鐘舵�佸け璐�");
+ }
+
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/RepositionLED.java b/src/main/java/com/zy/asrs/task/RepositionLED.java
index 793586e..1792a10 100644
--- a/src/main/java/com/zy/asrs/task/RepositionLED.java
+++ b/src/main/java/com/zy/asrs/task/RepositionLED.java
@@ -84,7 +84,7 @@
* 涓婃姤WMS璐х墿鎼
* @throws IOException
*/
- @Scheduled(cron = "0/3 * * * * ? ")
+// @Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts",17));
for(TaskWrk taskWrk:taskWrks){
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index 01eb951..f6cf40e 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -65,7 +65,13 @@
@Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
//鍏ュ簱7杞巻鍙叉。,绉诲簱7杞巻鍙叉。,鍑哄簱18杞�
- List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().in("wrk_sts", 7,18));
+ List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+ .in("wrk_sts", 7,17)
+ .or()
+ .in("status",5,7));//鍙栨秷鎴栬�呭畬缁�
+ if(taskWrkList.size() == 0){
+ return;
+ }
for (TaskWrk taskWrk : taskWrkList) {
TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk);
if(taskWrkLog.getIoType().equals(1)){
@@ -79,6 +85,16 @@
}
}else if(taskWrkLog.getIoType().equals(2)){
BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("wrk_no",taskWrk.getWrkNo()));
+ if(taskWrk.getWrkNo()>=3001&&taskWrk.getWrkNo()<=6000){
+ taskWrkLog.setWrkSts(18);
+ taskWrkLog.setModiTime(new Date());
+ if (!wrkLogService.insert(taskWrkLog)) {
+ throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
+ }
+ if (!taskWrkService.deleteById(taskWrk)) {
+ throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
+ }
+ }
if(basDevp==null){
HashMap<Object, Object> headParam = new HashMap<>();
String response = "";
@@ -95,6 +111,14 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
if(jsonObject.get("ReturnStatus").equals(0)){
+ taskWrkLog.setWrkSts(18);
+ taskWrkLog.setModiTime(new Date());
+ if (!wrkLogService.insert(taskWrkLog)) {
+ throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
+ }
+ if (!taskWrkService.deleteById(taskWrk)) {
+ throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
+ }
}
} catch (Exception e){
log.error("wcs鎼鍑哄簱缁檞ms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
diff --git a/src/main/java/com/zy/asrs/task/TaskMastScheduler.java b/src/main/java/com/zy/asrs/task/TaskMastScheduler.java
index eb5210a..85c3b74 100644
--- a/src/main/java/com/zy/asrs/task/TaskMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskMastScheduler.java
@@ -61,74 +61,45 @@
public void execute() throws IOException {
for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
HashMap<String, Object> headParam = new HashMap<>();
- String s="";//鏃ュ織鏍囪瘑
+ String s = "";//鏃ュ織鏍囪瘑
if (taskWrk.getWrkSts() == 6) {//鍏ュ簱瀹屾垚
headParam.put("Result", 1);
- s="鍏ュ簱瀹屾垚";
- taskWrk.setStatus(7);//鍏ュ簱浠诲姟杞巻鍙叉。6--銆�7
+ s = "鍏ュ簱瀹屾垚";
+ taskWrk.setWrkSts(7);//鍏ュ簱浠诲姟杞巻鍙叉。6--銆�7
} else if (taskWrk.getWrkSts() == 16) {//鍑哄簱瀹屾垚-寰呮惉绂�
headParam.put("Result", 1);
- s="鍑哄簱瀹屾垚-寰呮惉绂�";
+ s = "鍑哄簱瀹屾垚-寰呮惉绂�";
taskWrk.setWrkSts(17);//鍑哄簱浠诲姟16--銆�17
- } else if (taskWrk.getWrkSts().equals(30)) {//鍙栨秷
- s="鍙栨秷";
+ } else if (taskWrk.getStatus().equals(4)) {//鍙栨秷浠诲姟涓婃姤wms
+ s = "鍙栨秷";
+ taskWrk.setStatus(5);//鍙栨秷浠诲姟
headParam.put("Result", 2);
- taskWrk.setWrkSts(31);//鍙栨秷浠诲姟30--銆�31
+ } else if (taskWrk.getStatus().equals(6)) {//瀹岀粨浠诲姟涓婃姤wms
+ s = "鎵嬪姩瀹屾垚";
+ taskWrk.setStatus(7);//瀹岀粨
+ headParam.put("Result", 1);
}
String response = "";
Boolean bool = false;
try {
headParam.put("TaskNo", taskWrk.getTaskNo());
- log.info("wcs"+s+"浠诲姟涓婃姤wms={}", taskWrk);
+ log.info("wcs" + s + "浠诲姟涓婃姤wms={}", taskWrk);
response = new HttpHandler.Builder()
- // .setHeaders(headParam)
+ // .setHeaders(headPraam)
.setUri(wmsUrl)
.setPath(TaskExecCallback)
.setJson(JSON.toJSONString(headParam))
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- Date date=new Date();
- if(jsonObject.get("ReturnStatus").equals(0)){
- if(taskWrk.getIoType().equals(1)){//鍏ュ簱
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//鐩爣搴撲綅
- if(locMast != null){
- locMast.setLocSts("F");
- locMast.setBarcode(taskWrk.getBarcode());
- locMast.setModiTime(date);
- locMastService.updateById(locMast);
- }
- }else if(taskWrk.getIoType().equals(3)){//绉诲簱
- LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//鐩爣搴撲綅
- if(locMast != null){
- locMast.setLocSts("F");
- locMast.setBarcode(taskWrk.getBarcode());
- locMast.setModiTime(date);
- locMastService.updateById(locMast);
- }
- LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//鍘熷搴撲綅
- if(locMast2 != null){
- locMast2.setLocSts("O");
- locMast2.setBarcode("");
- locMast.setModiTime(date);
- locMastService.updateById(locMast2);
- }
- }else if(taskWrk.getIoType().equals(2)){//鍑哄簱
- LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//鍘熷搴撲綅
- if(locMast2 != null){
- locMast2.setLocSts("O");
- locMast2.setBarcode("");
- locMast2.setModiTime(date);
- locMastService.updateById(locMast2);
- }
- }
+ if (jsonObject.get("ReturnStatus").equals("0")) {
taskWrkService.updateById(taskWrk);
bool = true;
}
} catch (Exception e) {
- log.error("wcs"+s+"浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk, response);
+ log.error("wcs" + s + "浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk, response);
} finally {
- apiLogService.save("wcs"+s+"浠诲姟涓婃姤wms"
+ apiLogService.save("wcs" + s + "浠诲姟涓婃姤wms"
, wmsUrl + TaskExecCallback
, null
, "127.0.0.1"
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 91ae550..2e95470 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -427,7 +427,12 @@
}
public static String Fusion(int x, int y, int z){
- String locNo="0"+x;
+ String locNo ="";
+ if(x>=10){
+ locNo=x+"";
+ }else{
+ locNo="0"+x;
+ }
if(z>=10){
locNo=locNo+"0"+z;
}else{
diff --git a/src/main/java/com/zy/common/config/RedisConfig.java b/src/main/java/com/zy/common/config/RedisConfig.java
index d356517..cf99252 100644
--- a/src/main/java/com/zy/common/config/RedisConfig.java
+++ b/src/main/java/com/zy/common/config/RedisConfig.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
@@ -14,7 +15,7 @@
* Redis閰嶇疆绫�
* Created by vincent on 2019-12-23
*/
-//@Configuration
+@Configuration
//@EnableCaching // 寮�鍚暟鎹紦瀛樻満鍒�
public class RedisConfig extends CachingConfigurerSupport {
diff --git a/src/main/java/com/zy/common/utils/HttpHandler.java b/src/main/java/com/zy/common/utils/HttpHandler.java
index b305399..438ea88 100644
--- a/src/main/java/com/zy/common/utils/HttpHandler.java
+++ b/src/main/java/com/zy/common/utils/HttpHandler.java
@@ -15,7 +15,7 @@
*/
public class HttpHandler {
- private static final Integer DEFAULT_TIMEOUT_SECONDS = 5;
+ private static final Integer DEFAULT_TIMEOUT_SECONDS = 10;
private static final MediaType MEDIA_TYPE = MediaType.parse("application/json");
private String uri;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index b4df374..4d982b7 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -36,7 +36,7 @@
try {
// 闂撮殧
- Thread.sleep(1000);
+ Thread.sleep(500);
// 绯荤粺杩愯鐘舵�佸垽鏂�
if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
@@ -47,12 +47,19 @@
// mainService.crnDemoOfLocMove1();
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateStoreWrkFile1(); // 缁勬墭
+ //鍏ュ簱 ===>> 绌烘澘鍏ュ簱
+ mainService.EmptyPlates();//绌烘澘鍏ュ簱
// 鍏ュ嚭搴� ===>> 璋冪敤RCS杩涜鍏ュ嚭搴�
mainService.crnIoExecute();
- // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
-// mainService.crnStnToOutStn();
+ // 鍑哄簱 ===>> 鎻愬崌鏈哄嚭搴撶珯鍒板嚭搴撶珯
+ mainService.crnStnToOutStn();
+
// 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-// mainService.storeFinished();
+ mainService.storeFinished();
+ // 鍏ュ簱 ===>> 鎷f枡鐩樼偣鍐嶅叆搴�
+ mainService.stnToCrnStnPick(1);
+
+ mainService.scanForkLift();
// 鍫嗗灈鏈哄紓甯镐俊鎭褰�
// mainService.recCrnErr();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index a380bef..6bba288 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -373,11 +373,11 @@
//浠诲姟涓嬪彂鎴愬姛鏍囪瘑
boolean writeFlag = false;
while(writeCount < 5){
- OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
- OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo()); // 鐩爣绔�
+ OperateResult writeResult1 = siemensS7Net.Write("DB1000." + index*8, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙�
+ OperateResult writeResult2 = siemensS7Net.Write("DB1000." + (index*8+4), staProtocol.getStaNo()); // 鐩爣绔�
if(writeResult1.IsSuccess && writeResult2.IsSuccess){
Thread.sleep(200);
- OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index*6, (short)6);
+ OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*8, (short)6);
if(readResult.IsSuccess){
Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 226b951..718a566 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -21,6 +21,10 @@
staNo: 100
outSta[1]: #鍑哄簱鍙�2
staNo: 200
+ pickSta[0]:
+ staNo: 100
+ pickSta[1]:
+ staNo: 200
barcode[0]: #鏉$爜鎵弿浠�
port: 51236
ip: 172.17.91.39
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 2922d22..2316b9e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
name: @pom.build.finalName@
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=lfdwcs_sxc
+ url: jdbc:sqlserver://192.168.0.17:1433;databasename=lfdwcs_sxc
username: sa
password: sa@123
mvc:
@@ -16,7 +16,7 @@
redis:
host: localhost
port: 6379
- database: 0
+ database: 6
# password: xltys1995
profiles:
active: prod
@@ -50,7 +50,7 @@
#url: 10.32.53.195:8080
# WMS绯荤粺ip
# url: 10.210.157.109:8090
- url: 127.0.0.1:8081
+ url: 127.0.0.1:8081/lfdsxkwms
# 鍏ュ簱浠诲姟鐢宠鎺ュ彛
#inboundTaskApplyPath: api/InterFace/inboundTaskApply
inboundTaskApplyPath: rpc/pakin/loc/v1
@@ -63,11 +63,15 @@
taskLeave : open/asrs/leave/task
# 绉诲簱鐢宠鎺ュ彛
movePath: api/InterFace/get_InterFace_TestStorage
+ # 鎷f枡鐩樼偣鍥炲簱涓婃姤
+ returnWarehouse : rpc/pakin/loc/returnWarehouse
wcs:
- urlWcs: 127.0.0.1:9091/wcs
+ urlWcs: 127.0.0.1:9091/rcs
#鍏ュ簱浠诲姟鐢宠
inboundTaskApplyPathWcs: openapi/createInTask
#鍑哄簱浠诲姟鐢宠
outboundTaskRequest : openapi/createOutTask
# 绉诲簱鐢宠鎺ュ彛
movePathWcs: openapi/createLocMoveTask
+ # 鑾峰彇灏忚溅淇℃伅
+ shuttleStatus: openapi/deviceStatus
diff --git a/src/main/resources/mapper/BasShuttleMapper.xml b/src/main/resources/mapper/BasShuttleMapper.xml
index 5e44550..e0048f0 100644
--- a/src/main/resources/mapper/BasShuttleMapper.xml
+++ b/src/main/resources/mapper/BasShuttleMapper.xml
@@ -21,6 +21,7 @@
<result column="run_speed" property="runSpeed" />
<result column="device_status" property="deviceStatus" />
<result column="disable_lev" property="disableLev" />
+ <result column="errorCode" property="errorCode" />
</resultMap>
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 7369647..6f780b4 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -25,6 +25,8 @@
<result column="command_step" property="commandStep" />
<result column="transfer_mark" property="transferMark" />
<result column="mark_start" property="markStart"/>
+ <result column="origin_start_point" property="originStartPoint"/>
+ <result column="origin_target_point" property="originTargetPoint"/>
</resultMap>
@@ -50,10 +52,10 @@
<select id="selectPakIn" resultMap="BaseResultMap">
select top 1 * from dbo.wcs_task_wrk
where status=2
- and crn_no=#{crnNo}
and wrk_no=#{workNo}
and start_point=#{startPoint}
and io_type=1
+ and wrk_sts= 2
order by io_pri desc,create_time,wrk_no ASC
</select>
@@ -81,10 +83,8 @@
<select id="selectPakOut" resultMap="BaseResultMap">
select * from dbo.wcs_task_wrk
- where crn_no=#{crnNo}
- <if test="targetPoint!=null and targetPoint!='' ">
- and target_point=#{targetPoint}
- </if>
+ where
+ target_point=#{targetPoint}
and wrk_sts=11
and io_type = 2
order by io_pri desc,create_time,wrk_no ASC
@@ -119,7 +119,7 @@
<select id="selectToBeHistoryData" resultMap="BaseResultMap">
select * from dbo.wcs_task_wrk
where 1=1
- and (wrk_sts=16 or wrk_sts=7 or wrk_sts=30)
+ and (wrk_sts=6 or wrk_sts=16 or status=4 or status=5)
order by io_pri desc,create_time,wrk_no ASC
</select>
diff --git a/src/main/webapp/static/wcs/images/logo.png b/src/main/webapp/static/wcs/images/logo.png
index 11b4dad..71dd632 100644
--- a/src/main/webapp/static/wcs/images/logo.png
+++ b/src/main/webapp/static/wcs/images/logo.png
Binary files differ
diff --git a/src/main/webapp/static/wms/image/logo.png b/src/main/webapp/static/wms/image/logo.png
index 11b4dad..71dd632 100644
--- a/src/main/webapp/static/wms/image/logo.png
+++ b/src/main/webapp/static/wms/image/logo.png
Binary files differ
--
Gitblit v1.9.1