Compare commits
2 Commits
master2
...
feature/sa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
708a31b9e6 | ||
|
|
06e9ccc0fe |
@@ -53,13 +53,15 @@ public enum AcsTaskEnum {
|
||||
TASK_Engrave_CALL("24","刻字机上料"),
|
||||
TASK_Engrave_EMPTY("25","刻字输送线-空框送回"),
|
||||
|
||||
TASK_STRUCT_HR_IN("26","入库-海柔半成品-生产入库"),
|
||||
TASK_STRUCT_HR_OUT("27","出库-海柔半成品-生产出库"),
|
||||
TASK_STRUCT_HR_IN("26","入库-海柔半成品-单据入库"),
|
||||
TASK_STRUCT_HR_OUT("27","出库-海柔半成品-单据出库"),
|
||||
TASK_STRUCT_HR_CHECK("28","海柔半成品-盘点"),
|
||||
TASK_STRUCT_HR_EMP_IN("29","入库-海柔半成品-空托盘"),
|
||||
TASK_STRUCT_HR_EMP_OUT("30","出库-海柔半成品-空托盘"),
|
||||
TASK_STRUCT_HR_PRODUCT_IN("31","入库-海柔半成品-生产入库"),
|
||||
TASK_STRUCT_HR_PRODUCT_OUT("32","出库-海柔半成品-生产出库"),
|
||||
TASK_STRUCT_HR_TRANSPORT_IN("35","搬运任务-海柔半成品库入库点"),
|
||||
TASK_STRUCT_HR_TRANSPORT_OUT("36","搬运任务-海柔半成品库入库点"),
|
||||
TASK_STRUCT_HR_TRANSPORT_OUT("36","搬运任务-海柔半成品库出库点"),
|
||||
TASK_WASH_FEEDING_JG("40","激光清洗机上料"),
|
||||
TASK_WASH_FEEDING_FH("41","发黑清洗机上料"),
|
||||
TASK_WASH_FEEDING_ZD("42","振动清洗机上料"),
|
||||
@@ -94,6 +96,7 @@ public enum AcsTaskEnum {
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_TASK("2","诺宝单工任务"),
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK("3","诺宝单入-单任务"),
|
||||
ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK("4","诺宝双入-双任务"),
|
||||
ACS_TASK_TYPE_HR_TASK("14","海柔任务"),
|
||||
|
||||
ACS_TASK_TYPE_NOBLE_POINT_POINT_TASK("5","诺宝点对点任务"),
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package org.nl.common.publish.event;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/4/28 13:50
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TaskEvent2 extends PublishEvent {
|
||||
|
||||
private TaskStatusEnum status;
|
||||
private String task_id;
|
||||
private Map<String,String> extParam;
|
||||
|
||||
}
|
||||
@@ -141,7 +141,7 @@ public class WQLCore {
|
||||
|
||||
|
||||
//开始加载系统默认wql根目录
|
||||
isSuccess = loadWQL(WQLCore.ROOT);
|
||||
isSuccess = true;//loadWQL(WQLCore.ROOT);
|
||||
|
||||
return isSuccess;
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
package org.nl.wms.ext_manage.acs.service.listener;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.publish.AbstraceListener;
|
||||
import org.nl.common.publish.event.TaskEvent;
|
||||
import org.nl.common.publish.event.TaskEvent2;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext_manage.acs.service.WmsToAcsService;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.storage_manage.semimanage.TASKEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class TaskListener extends AbstraceListener<TaskEvent2> {
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
|
||||
@Override
|
||||
protected String doEvent(TaskEvent2 event) {
|
||||
TaskStatusEnum status = event.getStatus();
|
||||
if (StringUtils.isNotEmpty(event.getTask_id())){
|
||||
SchBaseTask task = taskService.getById(event.getTask_id());
|
||||
|
||||
switch (status){
|
||||
case CREATED:
|
||||
//下发
|
||||
JSONArray param = new JSONArray();
|
||||
param.add(JSON.parseObject(JSONUtil.toJsonStr(task)));
|
||||
WmsToAcsService bean = SpringContextHolder.getBean(WmsToAcsService.class);
|
||||
Map<String, Object> result = bean.issueTaskToAcs4(param);
|
||||
if (!ObjectUtil.equal(MapUtil.getStr(result, "status"),"200")) {
|
||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||
.set("remark","下发acs失败"+MapUtil.getStr(result, "message"))
|
||||
.set("task_status",TaskStatusEnum.SURE_START_ERROR.getCode())
|
||||
.eq("task_id",task.getTask_id()));
|
||||
}else {
|
||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||
.set("task_status",TaskStatusEnum.EXECUTING.getCode())
|
||||
.eq("task_id",task.getTask_id()));
|
||||
}
|
||||
|
||||
break;
|
||||
case EXECUTING:
|
||||
break;
|
||||
case FINISHED:
|
||||
break;
|
||||
case CANCEL:
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -185,8 +185,7 @@ public class BigScreenServiceImpl implements BigScreenService, ApplicationAutoIn
|
||||
List<Map> arr4 = deviceService.repairList(ids);
|
||||
//故障曲线
|
||||
List<Map> collect = arr4.stream().filter(map -> {
|
||||
Object date_time = map.get("date_time");
|
||||
if (date_time != null) {
|
||||
if (map.get("date_time") != null) {
|
||||
return map.get("date_time").equals(DateUtil.today());
|
||||
}
|
||||
return false;
|
||||
@@ -201,9 +200,8 @@ public class BigScreenServiceImpl implements BigScreenService, ApplicationAutoIn
|
||||
}
|
||||
//周工单情况
|
||||
ScrapRateQuery query = new ScrapRateQuery();
|
||||
DateTime dateTime = DateUtil.offsetWeek(new Date(), -1);
|
||||
query.setWorkprocedure_ids(ids);//统计月
|
||||
query.setStart_time(DateFormatUtils.format(dateTime, "yyyy-MM-dd"));
|
||||
query.setWorkprocedure_ids(ids);
|
||||
query.setStart_time(DateFormatUtils.format(DateUtil.offsetWeek(new Date(), -1), "yyyy-MM-dd"));
|
||||
List<Map> scrapRate = workorderService.scrapRate(query);
|
||||
Map map = scrapRate.get(0);
|
||||
Map jo3 = MapOf.of("sumfinishproduce_qty", map.get("real_qty"),
|
||||
|
||||
@@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.CachelinePositionService;
|
||||
import org.nl.wms.staging_manage.service.conveyor.dao.SchConveyorPosition;
|
||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -23,15 +25,19 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@SaIgnore
|
||||
public class CacheConveyorContorller {
|
||||
|
||||
@Autowired
|
||||
private CachelinePositionService cachelinePositionService;
|
||||
|
||||
/**
|
||||
* 半成品数据库:/api/bcp/hr/bypda
|
||||
* @param param
|
||||
* 缓存线物料查询接口:/getCacheLineMaterialInfo"
|
||||
* @param bcpIvt
|
||||
* @return
|
||||
*/
|
||||
|
||||
@PostMapping("/call")
|
||||
@Log("缓存线叫料")
|
||||
public ResponseEntity<Object> conveyor(@RequestBody StIvtStructivtBcp param,@RequestParam("target") String target){
|
||||
public ResponseEntity<Object> conveyor(@RequestBody JSONObject bcpIvt){
|
||||
StIvtStructivtBcp bcp = new StIvtStructivtBcp();
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -95,10 +95,10 @@ public class FhWashController {
|
||||
}
|
||||
@PostMapping("/blanking")
|
||||
@Log("清洗下料")
|
||||
public ResponseEntity<Object> blanking(@RequestBody JSONObject params){
|
||||
public ResponseEntity<Object> blanking(@RequestBody JSONArray params,String vechile_code){
|
||||
//创建半成品入库任务
|
||||
pointService.queryPointMaterial(null);
|
||||
fhWashService.blanking(params);
|
||||
fhWashService.blanking(params,vechile_code);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
//退火区
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.nl.wms.pda_manage.pda.controller.a3wash;
|
||||
|
||||
/**
|
||||
* 振动清洗机手持功能
|
||||
* 振动清洗机手持功能:acs同步缓存线物料相关未开发
|
||||
*/
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
@@ -18,7 +18,9 @@ import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.CachelinePositionService;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.a3.FHWash.FhWashService;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.a3.HBWash.ZdWashService;
|
||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||
import org.nl.wms.scheduler_manage.service.point.PointQuery;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||
@@ -26,6 +28,7 @@ import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.staging_manage.service.conveyor.ISchConveyorPositionService;
|
||||
import org.nl.wms.staging_manage.service.conveyor.dao.SchConveyorPosition;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.impl.HrBcpProjectOutService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -45,30 +48,32 @@ import java.util.Map;
|
||||
@SaIgnore
|
||||
public class ZdWashController {
|
||||
private static String CONVEYOR = "";
|
||||
@Autowired
|
||||
private ISchConveyorPositionService schConveyorPositionService;
|
||||
|
||||
@Autowired
|
||||
private FhWashService fhWashService;
|
||||
private ZdWashService zdWashService;
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleextService storagevehicleextService;
|
||||
@Autowired
|
||||
private HrBcpProjectOutService hrBcpProjectOutService;
|
||||
|
||||
|
||||
|
||||
@PostMapping("/conveyor")
|
||||
@Log("查询输送线")
|
||||
public ResponseEntity<Object> conveyor(@RequestBody JSONObject param){
|
||||
List<SchConveyorPosition> list = schConveyorPositionService.list(new QueryWrapper<SchConveyorPosition>()
|
||||
.eq("position_code", CONVEYOR));
|
||||
return new ResponseEntity<>(TableDataInfo.build(list),HttpStatus.OK);
|
||||
@PostMapping("/callMaterial")
|
||||
@Log("半成品库叫料")
|
||||
public ResponseEntity<Object> callMaterial(@RequestBody JSONObject bcpIvt){
|
||||
hrBcpProjectOutService.create(bcpIvt);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
// * 缓存线物料查询接口:/getCacheLineMaterialInfo"
|
||||
@PostMapping("/feeding")
|
||||
@Log("激光清洗机上料")
|
||||
public ResponseEntity<Object> feeding(@RequestBody JSONArray params){
|
||||
fhWashService.feeding(params);
|
||||
//缓存线叫料"
|
||||
zdWashService.feeding(params);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -76,7 +81,7 @@ public class ZdWashController {
|
||||
@Log("清洗中物料")
|
||||
public ResponseEntity<Object> washing(){
|
||||
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
|
||||
.eq("task_type", AcsTaskEnum.TASK_WASH_FEEDING_JG.getCode())
|
||||
.eq("task_type", AcsTaskEnum.TASK_WASH_FEEDING_ZD.getCode())
|
||||
.eq("task_status", StatusEnum.TASK_RUNNING.getCode())
|
||||
.eq("is_delete", Boolean.FALSE)
|
||||
.orderByAsc("task_code"));
|
||||
@@ -99,37 +104,7 @@ public class ZdWashController {
|
||||
@Log("清洗下料")
|
||||
public ResponseEntity<Object> blanking(@RequestBody JSONObject params){
|
||||
//创建半成品入库任务
|
||||
pointService.queryPointMaterial(null);
|
||||
fhWashService.blanking(params);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
//退火区
|
||||
@RequestMapping("/staging")
|
||||
@Log("查询退火暂存区")
|
||||
public ResponseEntity<Object> staging(PointQuery query, PageQuery page){
|
||||
//创建半成品入库任务
|
||||
List<Map> maps = pointService.queryVechileMaterial(query);
|
||||
return new ResponseEntity<>(TableDataInfo.build(maps),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/release")
|
||||
@Log("点位释放")
|
||||
public ResponseEntity<Object> release(@RequestBody List<Long> ids){
|
||||
pointService.update(new UpdateWrapper<SchBasePoint>()
|
||||
.set("vehicle_code","").in("point_id",ids));
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/place")
|
||||
@Log("点位放置")
|
||||
public ResponseEntity<Object> place(@RequestBody JSONObject param){
|
||||
//更新点位
|
||||
pointService.update(new UpdateWrapper<SchBasePoint>()
|
||||
.set("vehicle_code",param.getString("vehicle_code"))
|
||||
.eq("point_code",param.getString("point_code")));
|
||||
//更新载具物料信息为清洗
|
||||
storagevehicleextService.update(new UpdateWrapper<MdPbStoragevehicleext>()
|
||||
.set("is_need_clean",true)
|
||||
.eq("storagevehicle_code",param.getString("vehicle_code")));
|
||||
zdWashService.blanking(params);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/vechileRelease")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.scheduler_manage.service.cacheline;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.dto.CachelinePositionDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
@@ -61,4 +62,11 @@ public interface CachelinePositionService {
|
||||
*/
|
||||
void deleteAll(String[] ids);
|
||||
|
||||
/**
|
||||
* 缓存线叫料出箱
|
||||
* @param materials:缓存线物料,料箱信息
|
||||
* @param handleClass:业务类
|
||||
*/
|
||||
void callOut(JSONArray materials,String handleClass);
|
||||
|
||||
}
|
||||
|
||||
@@ -2,20 +2,29 @@ package org.nl.wms.scheduler_manage.service.cacheline.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.common.enums.AcsTaskEnum;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.publish.event.TaskEvent2;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.CachelinePositionService;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.dto.CachelinePositionDto;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@@ -35,6 +44,9 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
@Slf4j
|
||||
public class CachelinePositionServiceImpl implements CachelinePositionService {
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
|
||||
@Override
|
||||
public Map<String,Object> queryAll(Map whereJson, Pageable page){
|
||||
HashMap param = new HashMap();
|
||||
@@ -112,4 +124,36 @@ public class CachelinePositionServiceImpl implements CachelinePositionService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callOut(JSONArray materials,String handleClass) {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (materials!=null && materials.size()>0){
|
||||
for (Object material : materials) {
|
||||
JSONObject cacheVehile = (JSONObject) material;
|
||||
String cacheVehile1 = cacheVehile.getString("cacheVehile");
|
||||
list.add(cacheVehile1);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 创建缓存线出箱任务起点是缓存线,终点是缓存线对接位
|
||||
*/
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getStringId());
|
||||
task.setTask_code(CodeUtil.getNewCode("task_code"));
|
||||
task.setPoint_code1("缓存线编号");
|
||||
task.setPoint_code3("缓存线编号");
|
||||
task.setTask_status(StatusEnum.TASK_CREATE.getCode());
|
||||
task.setIs_send(true);
|
||||
task.setBarcodeArr(list.stream().collect(Collectors.joining(",")));
|
||||
task.setCreate_time(new Date());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setHandle_class(handleClass);
|
||||
taskService.save(task);
|
||||
// 2.2 生成任务
|
||||
BussEventMulticaster.Publish(TaskEvent2.builder()
|
||||
.status(TaskStatusEnum.CREATED)
|
||||
.task_id(task.getTask_id())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ package org.nl.wms.scheduler_manage.service.extendtask.a3.FHWash;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -16,6 +17,8 @@ import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.a3.HrTransportTask;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
@@ -27,6 +30,9 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -38,6 +44,8 @@ public class FhWashService {
|
||||
private ISchConveyorPositionService conveyorPositionService;
|
||||
@Autowired
|
||||
private HrTransportTask transportTask;
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleextService storagevehicleextService;
|
||||
|
||||
public String feeding(JSONArray params){
|
||||
if (params!=null && params.size()>0){
|
||||
@@ -64,17 +72,33 @@ public class FhWashService {
|
||||
return null;
|
||||
};
|
||||
|
||||
public String blanking(JSONObject params){
|
||||
public String blanking(JSONArray params,String storagevehicle_code){
|
||||
/**
|
||||
* 校验:完成清洗任务
|
||||
* 绑定载具物料关系
|
||||
*/
|
||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||
.set("task_status",StatusEnum.TASK_FINISH.getCode())
|
||||
.set("update_name",SecurityUtils.getCurrentNickName())
|
||||
.set("update_time", DateUtil.now())
|
||||
.eq("task_id",params.getString("task_id")));
|
||||
|
||||
if (params!=null && params.size()>0){
|
||||
List<SchBaseTask> tasks = params.toJavaList(SchBaseTask.class);
|
||||
Map<String, List<SchBaseTask>> groupBy = tasks.stream().collect(Collectors.groupingBy(item -> item.getMaterial_id() + item.getWorkprocedure_id()));
|
||||
if (groupBy.size()>1){
|
||||
throw new BadRequestException("清洗下料,只能选择同工序同物料的清洗中物料");
|
||||
}
|
||||
List<String> collect = tasks.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList());
|
||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||
.set("task_status",StatusEnum.TASK_FINISH.getCode())
|
||||
.set("update_name",SecurityUtils.getCurrentNickName())
|
||||
.set("update_time", DateUtil.now())
|
||||
.in("task_id",collect));
|
||||
int qty = tasks.stream().mapToInt(a -> a.getMaterial_qty().intValue()).sum();
|
||||
//跟新载具物料关系
|
||||
MdPbStoragevehicleext vehicleMaterial = new MdPbStoragevehicleext();
|
||||
vehicleMaterial.setStoragevehicle_code(storagevehicle_code);
|
||||
vehicleMaterial.setQty(qty);
|
||||
vehicleMaterial.setMaterial_id(tasks.get(0).getMaterial_id());
|
||||
vehicleMaterial.setWorkprocedure_id(tasks.get(0).getWorkprocedure_id());
|
||||
vehicleMaterial.setUpdate_time(DateUtil.now());
|
||||
storagevehicleextService.saveOrUpdate(vehicleMaterial);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
package org.nl.wms.scheduler_manage.service.extendtask.a3.HBWash;
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/7/12 21:13
|
||||
*/
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.AcsTaskEnum;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.publish.event.TaskEvent2;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.CachelinePositionService;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.ISchCachelineVehicleService;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.ISchCachelineVehilematerialService;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.dao.SchCachelineVehicle;
|
||||
import org.nl.wms.scheduler_manage.service.cacheline.dao.SchCachelineVehilematerial;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.a3.HrTransportTask;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.staging_manage.service.conveyor.ISchConveyorPositionService;
|
||||
import org.nl.wms.staging_manage.service.conveyor.dao.SchConveyorPosition;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ZdWashService {
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleextService storagevehicleextService;
|
||||
@Autowired
|
||||
private CachelinePositionService cachelinePositionService;
|
||||
@Autowired
|
||||
private ISchCachelineVehilematerialService cachelineVehicleService;
|
||||
|
||||
|
||||
|
||||
public String feeding(JSONArray params){
|
||||
if (params!=null && params.size()>0){
|
||||
cachelinePositionService.callOut(params,this.getClass().getName());
|
||||
}
|
||||
//创建任务
|
||||
return null;
|
||||
};
|
||||
|
||||
public String blanking(JSONObject params){
|
||||
JSONArray data = params.getJSONArray("data");
|
||||
/**
|
||||
* 校验:完成清洗任务
|
||||
* 绑定载具物料关系
|
||||
*/
|
||||
if (data!=null && data.size()>0){
|
||||
List<SchBaseTask> tasks = data.toJavaList(SchBaseTask.class);
|
||||
Map<String, List<SchBaseTask>> groupBy = tasks.stream().collect(Collectors.groupingBy(item -> item.getMaterial_id() + item.getWorkprocedure_id()));
|
||||
if (groupBy.size()>1){
|
||||
throw new BadRequestException("清洗下料,只能选择同工序同物料的清洗中物料");
|
||||
}
|
||||
List<String> collect = tasks.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList());
|
||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||
.set("task_status",StatusEnum.TASK_FINISH.getCode())
|
||||
.set("update_name",SecurityUtils.getCurrentNickName())
|
||||
.set("update_time", DateUtil.now())
|
||||
.in("task_id",collect));
|
||||
int qty = tasks.stream().mapToInt(a -> a.getMaterial_qty().intValue()).sum();
|
||||
//跟新载具物料关系
|
||||
MdPbStoragevehicleext vehicleMaterial = new MdPbStoragevehicleext();
|
||||
vehicleMaterial.setStoragevehicle_code(params.getString("vehicle_code"));
|
||||
vehicleMaterial.setQty(qty);
|
||||
vehicleMaterial.setMaterial_id(tasks.get(0).getMaterial_id());
|
||||
vehicleMaterial.setWorkprocedure_id(tasks.get(0).getWorkprocedure_id());
|
||||
vehicleMaterial.setUpdate_time(DateUtil.now());
|
||||
storagevehicleextService.saveOrUpdate(vehicleMaterial);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
public void taskOperate(JSONObject form) {
|
||||
String task_id = form.getString("task_id");
|
||||
String status = form.getString("status");
|
||||
SchBaseTask callOut = taskService.getById(task_id);
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
//生成清洗任务;
|
||||
String barcodeArr = callOut.getBarcodeArr();
|
||||
String[] split = barcodeArr.split(",");
|
||||
List<SchCachelineVehilematerial> cachelineVehicles = cachelineVehicleService.list(new QueryWrapper<SchCachelineVehilematerial>()
|
||||
.in("vehicle_code", split));
|
||||
if (!CollectionUtils.isEmpty(cachelineVehicles)){
|
||||
Map<String, SchCachelineVehilematerial> collect = cachelineVehicles.stream().collect(HashMap::new, (k, v) -> k.put(v.getVehicle_code(), v), HashMap::putAll);
|
||||
List<SchBaseTask> tasks = new ArrayList<>();
|
||||
for (String storagevehicle_code : split) {
|
||||
//查询物料信息
|
||||
SchCachelineVehilematerial vehilematerial = collect.get(storagevehicle_code);
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getStringId());
|
||||
task.setTask_name(AcsTaskEnum.TASK_WASH_FEEDING_ZD.getDesc());
|
||||
task.setTask_type(AcsTaskEnum.TASK_WASH_FEEDING_ZD.getCode());
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.setMaterial_id(vehilematerial.getMaterial_id());
|
||||
task.setMaterial_qty(vehilematerial.getQuantity());
|
||||
task.setWorkprocedure_id(vehilematerial.getWorkprocedure_id());
|
||||
task.setIs_delete(Boolean.FALSE);
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(new Date());
|
||||
task.setTask_status(StatusEnum.TASK_RUNNING.getCode());
|
||||
tasks.add(task);
|
||||
}
|
||||
taskService.saveBatch(tasks);
|
||||
}
|
||||
|
||||
} else if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
||||
|
||||
} else if(status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) {
|
||||
taskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status,TaskStatusEnum.CANCEL.getCode())
|
||||
.eq(SchBaseTask::getTask_id,task_id ));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,8 @@ public class JgWashService {
|
||||
task.setTask_type(AcsTaskEnum.TASK_WASH_FEEDING_JG.getCode());
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.setMaterial_id(position.getMaterila_id());
|
||||
task.setMaterial_qty(position.getQty());
|
||||
task.setWorkprocedure_id(position.getWrokprocedure_id());
|
||||
task.setIs_delete(Boolean.FALSE);
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
|
||||
@@ -162,7 +162,7 @@ public class SchBaseTask implements Serializable {
|
||||
/**
|
||||
* 任务完成类型
|
||||
*/
|
||||
private String finished_type;
|
||||
private String finished_type = "1";
|
||||
|
||||
/**
|
||||
* agv任务类型
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.nl.wms.storage_manage.semimanagehr.service.check.IStIvtCheckmstHrBcpS
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.IStIvtIostorinvEmpBcpService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.IStIvtIostorinvHrBcpInService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.IStIvtIostorinvHrBcpOutService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.impl.HrBcpProjectOutService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.moveInv.IStIvtMoveinvHrBcpService;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
@@ -107,6 +108,11 @@ public enum TASKEnum implements FunctionStrategy<String, JSONObject> {
|
||||
bean.taskOperate(form);
|
||||
}),
|
||||
|
||||
HR_BCP_TRANSPORT_OUT_TASK(type -> AcsTaskEnum.TASK_STRUCT_HR_PRODUCT_OUT.getCode().equals(type), form -> {
|
||||
HrBcpProjectOutService bean = SpringContextHolder.getBean(HrBcpProjectOutService.class);
|
||||
bean.taskOperate(form);
|
||||
}),
|
||||
|
||||
;
|
||||
|
||||
private final Predicate<String> predicate;
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.util.Map;
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("cc")
|
||||
@RequestMapping("/api/bcp/hr")
|
||||
public class StIvtStructivtHrBcpController {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
package org.nl.wms.storage_manage.semimanagehr.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import io.jsonwebtoken.lang.Assert;
|
||||
import org.nl.common.enums.AcsTaskEnum;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.publish.event.TaskEvent2;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.scheduler_manage.service.extendtask.manage.TaskStatusEnum;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.pda.PDAEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.IStIvtIostorinvOrderService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.dao.StIvtIostorinvOrder;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.structIvt.IStIvtStructivtHrBcpService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.structIvt.IStIvtStructivtflowHrService;
|
||||
import org.nl.wms.storage_manage.semimanagehr.service.structIvt.dao.StIvtStructivtHrBcp;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* 海柔生产出库
|
||||
*/
|
||||
@Service
|
||||
public class HrBcpProjectOutService {
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtHrBcpService structivtBcpService; // 海柔半成品服务
|
||||
@Autowired
|
||||
private IStIvtStructattrService structattrService; // 仓位服务
|
||||
@Autowired
|
||||
private ISchBaseTaskService iSchBaseTaskService; // 任务服务
|
||||
@Autowired
|
||||
private IStIvtStructivtflowHrService iStIvtStructivtflowService; // 海柔库存变动服务
|
||||
@Autowired
|
||||
protected IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||
@Autowired
|
||||
private IStIvtIostorinvOrderService iStIvtIostorinvOrderService; // 出入库顺序服务
|
||||
|
||||
|
||||
public void create(JSONObject form) {
|
||||
// "workshop_id": "A3",
|
||||
// "workprocedure_id": "1694243108683911168",
|
||||
// "is_active": true,
|
||||
// "qty_unit_id": "16",
|
||||
// "canuse_qty": 11.000,
|
||||
// "stor_id": "15286279952695336963",
|
||||
// "is_pick": true,
|
||||
// "unit_name": "个\\只",
|
||||
// "sect_code": "HKQ001",
|
||||
// "material_spec": "45CCL1 5/8-DWV",
|
||||
// "instorage_time": "2024-02-20 10:08:01",
|
||||
// "quality_scode": "01",
|
||||
// "stor_name": "紫铜三线半成品仓库",
|
||||
// "storagevehicle_code": "A000000833",
|
||||
// "struct_id": "179999804806716689",
|
||||
// "struct_name": "\t05排19列05层",
|
||||
// "material_id": "1684111111695790000",
|
||||
// "pcsn": "2024-02-20",
|
||||
// "sect_name": "三线半成品库区",
|
||||
// "unit_weight": 4.000,
|
||||
// "lock_type": "0",
|
||||
// "struct_code": "B05-19-05",
|
||||
// "material_name": "A345度等径承插口弯头45CCL1 5/8-DWVUSNA0131027",
|
||||
// "material_code": "24011401S"
|
||||
Assert.notNull(form, "参数不能为空");
|
||||
/**
|
||||
* 1.校验任务是否存在
|
||||
* 2.创建任务
|
||||
* 3.发布任务事件:是否下发
|
||||
*/
|
||||
int count = iSchBaseTaskService.count(new QueryWrapper<SchBaseTask>()
|
||||
.eq("task_type", AcsTaskEnum.TASK_STRUCT_HR_PRODUCT_OUT.getCode())
|
||||
.le("task_status", TaskStatusEnum.FINISHED.getCode()));
|
||||
if (count>4){//海柔会自己判断不会允许它放货
|
||||
throw new BadRequestException("当前出库任务过多,稍后再试");
|
||||
}
|
||||
SchBaseTask schBaseTask = new SchBaseTask();
|
||||
schBaseTask.setTask_id(IdUtil.getStringId());
|
||||
schBaseTask.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
schBaseTask.setTask_type(AcsTaskEnum.TASK_STRUCT_HR_PRODUCT_OUT.getCode());
|
||||
schBaseTask.setTask_name(AcsTaskEnum.TASK_STRUCT_HR_PRODUCT_OUT.getDesc());
|
||||
schBaseTask.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_HR_TASK.getCode());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CREATED.getCode());
|
||||
schBaseTask.setPoint_code1(form.getString("struct_code"));
|
||||
schBaseTask.setPoint_code3(PDAEnum.REGION_CODE.code("海柔半成品出库区域"));
|
||||
schBaseTask.setVehicle_code(form.getString("storagevehicle_code"));
|
||||
schBaseTask.setProduct_area(form.getString("workshop_id"));
|
||||
schBaseTask.setMaterial_id(form.getString("material_id"));
|
||||
schBaseTask.setMaterial_qty(form.getBigDecimal("canuse_qty"));
|
||||
schBaseTask.setHandle_class(this.getClass().getName());
|
||||
schBaseTask.setWorkprocedure_id(form.getString("workprocedure_id"));
|
||||
schBaseTask.setAgv_system_type(AcsTaskEnum.AGV_SYSTEM_HR.getCode());
|
||||
schBaseTask.setTask_step(1);
|
||||
schBaseTask.setTable_fk(form.getString("target"));//终点
|
||||
iSchBaseTaskService.save(schBaseTask);
|
||||
// 2.2 生成任务
|
||||
BussEventMulticaster.Publish(TaskEvent2.builder()
|
||||
.status(TaskStatusEnum.CREATED)
|
||||
.task_id(schBaseTask.getTask_id())
|
||||
.build());
|
||||
}
|
||||
public void taskOperate(JSONObject form) {
|
||||
String task_id = form.getString("task_id");
|
||||
String status = form.getString("status");
|
||||
SchBaseTask task = iSchBaseTaskService.getById(task_id);
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
/**
|
||||
* 更新任务
|
||||
* 更新仓位跟出入库记录表
|
||||
* 生成关联任务:下发acs
|
||||
*/
|
||||
this.confirm(task);
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status,TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id,task_id ));
|
||||
|
||||
SchBaseTask schBaseTask = new SchBaseTask();
|
||||
schBaseTask.setTask_id(IdUtil.getStringId());
|
||||
schBaseTask.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
schBaseTask.setTask_type(AcsTaskEnum.TASK_STRUCT_HR_TRANSPORT_OUT.getCode());
|
||||
schBaseTask.setTask_name(AcsTaskEnum.TASK_STRUCT_HR_TRANSPORT_OUT.getDesc());
|
||||
schBaseTask.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_HR_TASK.getCode());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CREATED.getCode());
|
||||
schBaseTask.setPoint_code1(task.getPoint_code3());
|
||||
schBaseTask.setPoint_code3(task.getTable_fk());
|
||||
schBaseTask.setVehicle_code(task.getVehicle_code());
|
||||
schBaseTask.setProduct_area(task.getProduct_area());
|
||||
schBaseTask.setMaterial_id(task.getMaterial_id());
|
||||
schBaseTask.setMaterial_qty(task.getMaterial_qty());
|
||||
schBaseTask.setWorkprocedure_id(task.getWorkprocedure_id());
|
||||
schBaseTask.setAgv_system_type(AcsTaskEnum.AGV_SYSTEM_NB.getCode());
|
||||
schBaseTask.setTask_step(2);
|
||||
schBaseTask.setTable_fk_id(task.getTask_id());
|
||||
iSchBaseTaskService.save(schBaseTask);
|
||||
|
||||
BussEventMulticaster.Publish(TaskEvent2.builder()
|
||||
.status(TaskStatusEnum.CREATED)
|
||||
.task_id(schBaseTask.getTask_id())
|
||||
.build());
|
||||
} else if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
||||
|
||||
} else if(status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) {
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status,TaskStatusEnum.CANCEL.getCode())
|
||||
.eq(SchBaseTask::getTask_id,task_id ));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String confirm(SchBaseTask task) {
|
||||
StIvtStructivtHrBcp ivtDao = structivtBcpService.getOne(new QueryWrapper<StIvtStructivtHrBcp>()
|
||||
.eq("struct_code",task.getPoint_code1()));
|
||||
//删除库存
|
||||
if (ivtDao!=null){
|
||||
structivtBcpService.remove(new QueryWrapper<StIvtStructivtHrBcp>()
|
||||
.eq("struct_id", ivtDao.getStruct_id()));
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("change_qty", ivtDao.getCanuse_qty());
|
||||
param.put("result_qty", 0);
|
||||
param.put("bill_code",task.getTask_code());
|
||||
param.put("inv_id",task.getTask_id());
|
||||
iStIvtStructivtflowService.insetIvtChange(param);
|
||||
//更新仓位
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, task.getPoint_code1())
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||
.set(StIvtStructattr::getTask_code, "")
|
||||
.set(StIvtStructattr::getInv_code,"")
|
||||
.set(StIvtStructattr::getStoragevehicle_code, ""));
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setQty(0),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,task.getVehicle_code())
|
||||
);
|
||||
// 插入出入库顺序表
|
||||
StIvtIostorinvOrder dao = new StIvtIostorinvOrder();
|
||||
dao.setOrder_id(IdUtil.getStringId());
|
||||
dao.setWorkshop_id(PDAEnum.WORKSHOP_ID.code("智能三线车间"));
|
||||
dao.setStor_id(PDAEnum.STOR_ID.code("紫铜三线半成品仓库"));
|
||||
dao.setOut_device(task.getPoint_code3());
|
||||
dao.setBar_code(task.getVehicle_code());
|
||||
dao.setMaterial_id(task.getMaterial_id());
|
||||
dao.setSale_id("");
|
||||
dao.setWeight(task.getMaterial_qty());
|
||||
dao.setQty(task.getMaterial_qty());
|
||||
dao.setType(IOSEnum.IO_TYPE.code("出库"));
|
||||
dao.setIs_delete(false);
|
||||
dao.setCreate_time(DateUtil.now());
|
||||
dao.setBiz_date(DateUtil.today());
|
||||
dao.setWorkprocedure_id(task.getWorkprocedure_id());
|
||||
iStIvtIostorinvOrderService.save(dao);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -79,8 +79,8 @@
|
||||
|
||||
|
||||
<springProfile name="dev3">
|
||||
<root level="debug">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<root level="info">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
|
||||
7
mes/hd/nladmin-system/src/main/resources/sql/工单看板.sql
Normal file
7
mes/hd/nladmin-system/src/main/resources/sql/工单看板.sql
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user