This commit is contained in:
2022-10-26 18:27:11 +08:00
parent 593c113947
commit 4aa236b42d
9 changed files with 254 additions and 426 deletions

View File

@@ -194,7 +194,7 @@ public class PointServiceImpl implements PointService {
@Override
public JSONArray getPoint(Map wherJson) {
String area_type = (String) wherJson.get("area_type");
JSONArray point_rows = WQLObject.getWQLObject("sch_base_point").query("area_type IN (" + area_type + ") AND is_used = '1' AND is_delete = '0' order by point_code").getResultJSONArray(0);
JSONArray point_rows = WQLObject.getWQLObject("sch_base_point").query("region_id IN (" + area_type + ") AND is_used = '1' AND is_delete = '0' order by point_code").getResultJSONArray(0);
return point_rows;
}

View File

@@ -91,15 +91,6 @@ public class RawAssistIStorController {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@PostMapping("/confirmvehicle")
@Log("组盘确认")
@ApiOperation("组盘确认")
//@PreAuthorize("@el.check('materialtype:list')")
public ResponseEntity<Object> confirmvehicle(@RequestBody Map whereJson) {
rawAssistIStorService.confirmvehicle(whereJson);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@PostMapping("/deleteDisDtl")
@Log("删除一行")
@ApiOperation("删除一行")

View File

@@ -30,8 +30,6 @@ public interface RawAssistIStorService {
JSONArray getIODtl(Map whereJson);
void confirmvehicle(Map whereJson);
void deleteDisDtl(Map whereJson);
void divStruct(Map whereJson);

View File

@@ -64,58 +64,6 @@ public class InbillServiceImpl {
dis.insert(dis_jo);
}
//插入分配明细表
public void insertDisDtl(JSONObject jo) {
WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl");
JSONObject disdtl_jo = new JSONObject();
disdtl_jo.put("iostorinvdisdtl_id", IdUtil.getSnowflake(1, 1).nextId());
disdtl_jo.put("iostorinvdis_id", jo.getString("iostorinvdis_id"));
disdtl_jo.put("iostorinv_id", jo.getString("iostorinv_id"));
disdtl_jo.put("iostorinvdtl_id", jo.getString("iostorinvdtl_id"));
disdtl_jo.put("seq_no", jo.getString("seq_no"));
disdtl_jo.put("sect_id", jo.getString("sect_id"));
disdtl_jo.put("sect_code", jo.getString("sect_code"));
disdtl_jo.put("sect_name", jo.getString("sect_name"));
disdtl_jo.put("struct_id", jo.getString("struct_id"));
disdtl_jo.put("struct_code", jo.getString("struct_code"));
disdtl_jo.put("struct_name", jo.getString("struct_name"));
disdtl_jo.put("material_id", jo.getString("material_id"));
disdtl_jo.put("pcsn", jo.getString("pcsn"));
disdtl_jo.put("quality_scode", jo.getString("quality_scode"));
disdtl_jo.put("ivt_level", jo.getString("ivt_level"));
disdtl_jo.put("is_active", jo.getString("is_active"));
disdtl_jo.put("storagevehicle_id", jo.getString("storagevehicle_id"));
disdtl_jo.put("storagevehicle_code", jo.getString("storagevehicle_code"));
disdtl_jo.put("storagevehicle_type", jo.getString("storagevehicle_type"));
disdtl_jo.put("bucketunique", jo.getString("bucketunique"));
disdtl_jo.put("qty_unit_id", jo.getString("qty_unit_id"));
disdtl_jo.put("qty_unit_name", jo.getString("qty_unit_name"));
disdtl_jo.put("real_qty", jo.getString("storage_qty"));
dis_dtl.insert(disdtl_jo);
//回写分配表数量
double real_qty = disdtl_jo.getDoubleValue("real_qty");
JSONObject dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdis_id ='" + jo.getString("iostorinvdis_id") + "'").uniqueResult(0);
dis.put("plan_qty", dis.getDoubleValue("plan_qty") + real_qty);
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis);
//回写明细表数量
JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + jo.getString("iostorinvdtl_id") + "'").uniqueResult(0);
dtl.put("assign_qty", dtl.getDoubleValue("assign_qty") + real_qty);
double unassign_qty = dtl.getDoubleValue("unassign_qty") - real_qty;
if (unassign_qty < 0) {
unassign_qty = 0;
}
dtl.put("unassign_qty", unassign_qty);
dtl.put("bill_status", "30");
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl);
//更新主表状态
JSONObject mst = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id ='" + jo.getString("iostorinv_id") + "'").uniqueResult(0);
JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + jo.getString("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0);
mst.put("bill_status", "30");
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(mst);
}
public void operatePoint(String operate, JSONObject form) {
WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point");

View File

@@ -30,6 +30,7 @@ import org.nl.wms.sch.service.dto.PointDto;
import org.nl.wms.sch.service.dto.TaskDto;
import org.nl.wms.st.inbill.service.RawAssistIStorService;
import org.nl.wms.st.inbill.service.StorPublicService;
import org.nl.wms.st.task.InTask;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -60,6 +61,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
private final PointService pointService;
@Override
public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
HashMap<String, String> map = new HashMap<>();
@@ -301,141 +303,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
return ja;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void confirmvehicle(Map whereJson) {
WQLObject change = WQLObject.getWQLObject("MD_PB_BucketChangeFlow");
String storagevehicle_code = (String) whereJson.get("storagevehicle_code");
if (StrUtil.isEmpty(storagevehicle_code)) {
throw new BadRequestException("载具号不能为空!");
}
//判断该载具是否已经分配货位或者起点
JSONArray dis_rows = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("storagevehicle_code = '" + storagevehicle_code + "' AND work_status < '99' AND ((struct_id <> '' AND struct_id is not null) OR (point_id <> '' AND point_code is not null))").getResultJSONArray(0);
if (dis_rows.size() > 0) {
throw new BadRequestException("该载具已经分配货位或起点,无法继续组盘!");
}
HashMap<String, String> dtl = (HashMap<String, String>) whereJson.get("dtl_row");
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableMater");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
//插入入库分配表
StoragevehicleinfoDto vehicle = null;
String iostorinvdis_id = "";
//判断该明细是否存在分配
JSONObject dis_row = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dtl.get("iostorinvdtl_id") + "' AND storagevehicle_code = '" + vehicle.getStoragevehicle_code() + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(dis_row)) {
iostorinvdis_id = IdUtil.getSnowflake(1, 1).nextId() + "";
dtl.put("iostorinvdis_id", iostorinvdis_id);
dtl.put("storagevehicle_id", vehicle.getStoragevehicle_id() + "");
dtl.put("storagevehicle_code", vehicle.getStoragevehicle_code());
dtl.put("storagevehicle_type", vehicle.getStoragevehicle_type());
/*//判断入库点是否冲突
JSONObject point_row = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + dtl.get("iostorinv_id") + "' AND storagevehicle_code = '" + vehicle.getStoragevehicle_code() + "'").uniqueResult(0);
if (!ObjectUtil.isEmpty(point_row) && !point_row.getString("point_code").equals((String) whereJson.get("point_code"))) {
throw new BadRequestException("该载具入库点冲突,请重新选择");
}
PointDto pointDto = pointService.findByCode((String) whereJson.get("point_code"));
dtl.put("point_code", pointDto.getPoint_code());
dtl.put("point_id", pointDto.getPoint_id() + "");
dtl.put("point_name", pointDto.getPoint_name());*/
inbillService.insertDis(JSONObject.parseObject(JSON.toJSONString(dtl)));
} else {
iostorinvdis_id = dis_row.getString("iostorinvdis_id");
}
//组盘校验
//判断该桶是否已经被操作
for (int i = 0; i < rows.size(); i++) {
HashMap<String, String> row = rows.get(i);
if (StrUtil.isEmpty(row.get("bucket_record_id"))) {
continue;
}
JSONObject bucket_jo = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucket_record_id = '" + row.get("bucket_record_id") + "'").uniqueResult(0);
if (bucket_jo == null) {
throw new BadRequestException("桶号:" + row.get("bucketunique") + "不存在,请重新选择!");
} else {
if (!bucket_jo.getString("status").equals("01")) {
throw new BadRequestException("桶号:" + row.get("bucketunique") + "已经被操作,请重新选择!");
}
}
//原来页面可以修改放入重量,经过讨论不修改,不需要动桶变动记录表
//判断是否为工序返工入库
JSONObject mst_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + dtl.get("iostorinv_id") + "'").uniqueResult(0);
//更新桶记录表
HashMap<String, String> bucket_map = new HashMap<>();
bucket_map.put("status", "02");
bucket_map.put("makeup_optid", currentUserId + "");
bucket_map.put("makeup_optname", nickName);
bucket_map.put("makeup_time", now);
bucket_map.put("storagevehicle_id", vehicle.getStoragevehicle_id() + "");
bucket_map.put("storagevehicle_code", vehicle.getStoragevehicle_code());
if (mst_jo.getString("bill_type").equals("000302")) {
bucket_map.put("quality_scode", "02");
row.put("quality_scode", "02");
}
WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucket_record_id = '" + row.get("bucket_record_id") + "'");
//插入分配明细表
row.put("iostorinvdis_id", iostorinvdis_id);
row.put("iostorinv_id", dtl.get("iostorinv_id"));
row.put("iostorinvdtl_id", dtl.get("iostorinvdtl_id"));
row.put("storagevehicle_id", vehicle.getStoragevehicle_id() + "");
row.put("storagevehicle_code", vehicle.getStoragevehicle_code());
row.put("storagevehicle_type", vehicle.getStoragevehicle_type());
row.put("seq_no", (i + 1) + "");
inbillService.insertDisDtl(JSONObject.parseObject(JSON.toJSONString(row)));
JSONObject bucket_now = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucketunique = '" + row.get("bucketunique") + "' AND status = '02'").uniqueResult(0);
if (mst_jo.getString("bill_type").equals("000302")) {
//插入桶物料变动记录表,减待检
JSONObject change_jo = new JSONObject();
change_jo.put("change_id", IdUtil.getSnowflake(1, 1).nextId());
change_jo.put("bucket_code", bucket_now.get("bucketunique"));
change_jo.put("material_id", bucket_now.get("material_id"));
change_jo.put("pcsn", bucket_now.get("pcsn"));
change_jo.put("ivt_level", bucket_now.get("ivt_level"));
change_jo.put("is_active", bucket_now.get("is_active"));
change_jo.put("quality_scode", "00");
change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo.put("change_type_scode", "02");
change_jo.put("change_time", now);
change_jo.put("rec_person", currentUserId);
change_jo.put("change_qty", bucket_now.get("storage_qty"));
change_jo.put("result_qty", "0");
change.insert(change_jo);
//插入桶物料变动记录表,加不良
JSONObject change_jo2 = new JSONObject();
change_jo2.put("change_id", IdUtil.getSnowflake(1, 1).nextId());
change_jo2.put("bucket_code", bucket_now.get("bucketunique"));
change_jo2.put("material_id", bucket_now.get("material_id"));
change_jo2.put("pcsn", bucket_now.get("pcsn"));
change_jo2.put("ivt_level", bucket_now.get("ivt_level"));
change_jo2.put("is_active", bucket_now.get("is_active"));
change_jo2.put("quality_scode", "02");
change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo2.put("change_type_scode", "01");
change_jo2.put("change_time", now);
change_jo2.put("rec_person", currentUserId);
change_jo2.put("change_qty", bucket_now.get("storage_qty"));
change_jo2.put("result_qty", bucket_now.get("storage_qty"));
change.insert(change_jo2);
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteDisDtl(Map row) {
@@ -459,7 +326,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
bucket_map.put("storagevehicle_id", "");
bucket_map.put("storagevehicle_code", "");
if (mst.getString("bill_type").equals("000302")) {
bucket_map.put("quality_scode", "00");
bucket_map.put("quality_scode", "01");
}
WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + row.get("bucketunique") + "' AND status = '02'");
@@ -472,8 +339,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
change_jo.put("material_id", bucket_now.get("material_id"));
change_jo.put("pcsn", bucket_now.get("pcsn"));
change_jo.put("ivt_level", bucket_now.get("ivt_level"));
change_jo.put("is_active", bucket_now.get("is_active"));
change_jo.put("quality_scode", "00");
change_jo.put("quality_scode", "01");
change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo.put("change_type_scode", "01");
@@ -489,9 +355,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
change_jo2.put("bucket_code", bucket_now.get("bucketunique"));
change_jo2.put("material_id", bucket_now.get("material_id"));
change_jo2.put("pcsn", bucket_now.get("pcsn"));
change_jo2.put("ivt_level", bucket_now.get("ivt_level"));
change_jo2.put("is_active", bucket_now.get("is_active"));
change_jo2.put("quality_scode", "02");
change_jo2.put("quality_scode", "01");
change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo2.put("change_type_scode", "02");
@@ -582,11 +446,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
String point_code = map.get("point_code");
if (StrUtil.isNotEmpty(point_code)) {
HashMap<String, String> point_map = new HashMap<>();
PointDto pointDto = null;
PointDto pointDto = pointService.findByCode(point_code);
point_map.put("point_code", pointDto.getPoint_code());
point_map.put("point_id", pointDto.getPoint_id() + "");
point_map.put("point_name", pointDto.getPoint_name());
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'");
}
Boolean checked = whereJson2.getBoolean("checked");
@@ -648,8 +512,8 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
inbillService.operatePoint("0", lock_map);
//判断起点是否不为空
JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(ios_dis.getString("point_code"))) {
JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(ios_dis.getString("point_id"))) {
// Boolean transfer = whereJson2.getBoolean("transfer",false);
Boolean transfer = whereJson2.getBoolean("transfer");
if (ObjectUtil.isEmpty(transfer)) {
@@ -658,7 +522,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
if (transfer) {
//创建任务
AbstractAcsTask task = null;
AbstractAcsTask task = new InTask();
JSONObject task_form = new JSONObject();
task_form.put("task_type", "03");
task_form.put("taskdtl_type", "04");
@@ -673,18 +537,17 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
dis_map.put("work_status", "01");
} else {
//创建任务
AbstractAcsTask task = null;
AbstractAcsTask task = new InTask();
JSONObject task_form = new JSONObject();
task_form.put("task_type", "01");
task_form.put("taskdtl_type", "01");
task_form.put("start_device_code", map.get("point_code"));
task_form.put("next_device_code", struct_code);
task_form.put("storagevehicle_id", map.get("storagevehicle_id"));
task_form.put("vehicle_code", map.get("storagevehicle_code"));
task_form.put("vehicle_code", map.get("box_no"));
task_form.put("storagevehicle_type", map.get("storagevehicle_type"));
String task_id = task.createTask(task_form);
if (whereJson.containsKey("auto_issue")) {
AbstractAcsTask intask = null;
AbstractAcsTask intask = new InTask();
//调用ACS接受任务接口
JSONObject result = null;
if (ObjectUtil.isNotEmpty(result)) {
@@ -703,12 +566,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
}
}
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'");
WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'");
//修改库存
//直接取出入库分配表的库存
JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").getResultJSONArray(0);
JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").getResultJSONArray(0);
JSONObject mst_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + map.get("iostorinv_id") + "'").uniqueResult(0);
for (int i = 0; i < dis_rows.size(); i++) {
JSONObject dis_jo = dis_rows.getJSONObject(i);
@@ -717,8 +579,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("material_id", dis_jo.getString("material_id"));
i_form.put("quality_scode", dis_jo.getString("quality_scode"));
i_form.put("pcsn", dis_jo.getString("pcsn"));
i_form.put("ivt_level", dis_jo.getString("ivt_level"));
i_form.put("is_active", dis_jo.getString("is_active"));
i_form.put("change_qty", dis_jo.getString("plan_qty"));
i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
@@ -728,12 +588,12 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("qty_unit_name", dis_jo.getString("qty_unit_name"));
storPublicService.IOStor(i_form, "31");
if (StrUtil.isNotEmpty(ios_dis.getString("point_code"))) {
if (StrUtil.isNotEmpty(ios_dis.getString("point_id"))) {
//更新明细表状态
JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "'").uniqueResult(0);
if (dtl_jo.getDoubleValue("unassign_qty") == 0) {
//判断该明细下是否还存在未分配货位的分配明细
JSONArray disdiv_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "' AND (struct_id = '' OR struct_id is null) AND (point_code = '' OR point_code is null)").getResultJSONArray(0);
JSONArray disdiv_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "' AND (struct_id = '' OR struct_id is null) AND (point_id = '' OR point_id is null)").getResultJSONArray(0);
if (disdiv_rows.size() == 0) {
dtl_jo.put("bill_status", "40");
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl_jo);
@@ -789,7 +649,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("quality_scode", dis_row.getString("quality_scode"));
i_form.put("pcsn", dis_row.getString("pcsn"));
i_form.put("ivt_level", dis_row.getString("ivt_level"));
i_form.put("is_active", dis_row.getString("is_active"));
i_form.put("change_qty", dis_row.getString("plan_qty"));
i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
@@ -799,50 +658,24 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("qty_unit_name", dis_row.getString("qty_unit_name"));
storPublicService.IOStor(i_form, "32");
//对分配明细进行循环
JSONArray disdtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").query("iostorinvdis_id = '" + dis_row.getString("iostorinvdis_id") + "'").getResultJSONArray(0);
for (int j = 0; j < disdtl_rows.size(); j++) {
JSONObject disdtl_row = disdtl_rows.getJSONObject(j);
WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl");
dis_dtl.delete("iostorinvdisdtl_id = '" + (String) disdtl_row.get("iostorinvdisdtl_id") + "'");
//更新桶记录表,判断单据是否为立库返工入库,如果是则删除桶记录,并还原立库出库确认表
if (mst_jo.getString("bill_type").equals("000301")) {
WQLObject.getWQLObject("MD_PB_BucketRecord").delete("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'");
HashMap<String, String> out_map = new HashMap<>();
out_map.put("status", "0");
WQLObject.getWQLObject("PDM_LK_OutPalletMateril").update(out_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '1'");
} else {
HashMap<String, String> bucket_map = new HashMap<>();
bucket_map.put("status", "01");
bucket_map.put("makeup_optid", "");
bucket_map.put("makeup_optname", "");
bucket_map.put("makeup_time", "");
bucket_map.put("storagevehicle_id", "");
bucket_map.put("storagevehicle_code", "");
WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'");
}
}
//回写明细表数量
double real_qty = -Double.parseDouble((String) dis_row.get("plan_qty"));
JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + dis_row.get("iostorinvdtl_id") + "'").uniqueResult(0);
double assign_qty = NumberUtil.add(dtl.getDoubleValue("assign_qty"), real_qty);
dtl.put("assign_qty", assign_qty);
double unassign_qty = NumberUtil.sub(dtl.getDoubleValue("plan_qty"), assign_qty);
if (unassign_qty < 0) {
unassign_qty = 0;
}
dtl.put("unassign_qty", unassign_qty);
if (assign_qty > 0) {
dtl.put("bill_status", "30");
} else {
dtl.put("bill_status", "10");
}
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl);
//删除该分配
dis_wql.delete(dis_row);
}
//更新分配状态
HashMap<String, String> map = new HashMap<>();
map.put("point_id", "");
map.put("sect_id", "");
map.put("sect_code", "");
map.put("sect_name", "");
map.put("struct_id", "");
map.put("struct_code", "");
map.put("struct_name", "");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'");
//修改明细状态
HashMap<String, String> dtl_map = new HashMap<>();
map.put("bill_status", "30");
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'");
//更新主表状态
JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0);
if (dtl_rows.size() > 0) {
@@ -871,10 +704,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
point_map.put("point_name", pointDto.getPoint_name());
//判断起点终点是否不为空
JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").uniqueResult(0);
JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(ios_dis.getString("struct_code"))) {
//创建任务
AbstractAcsTask task = null;
AbstractAcsTask task = new InTask();
JSONObject task_form = new JSONObject();
task_form.put("task_type", "01");
task_form.put("taskdtl_type", "01");
@@ -892,7 +725,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
point_map.put("task_id", task_id);
point_map.put("work_status", "01");
}
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'");
if (StrUtil.isNotEmpty(ios_dis.getString("struct_code"))) {
//修改库存
@@ -1023,7 +856,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("quality_scode", dis_row.getString("quality_scode"));
i_form.put("pcsn", dis_row.getString("pcsn"));
i_form.put("ivt_level", dis_row.getString("ivt_level"));
i_form.put("is_active", dis_row.getString("is_active"));
i_form.put("change_qty", dis_row.getString("plan_qty"));
i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
@@ -1046,12 +878,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
WQLObject task_wql = WQLObject.getWQLObject("SCH_BASE_Task");
WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point");
WQLObject struct_table = WQLObject.getWQLObject("ST_IVT_StructAttr");
WQLObject change = WQLObject.getWQLObject("MD_PB_BucketChangeFlow");
//判断指令状态,只能修改生成状态的任务
String taskdtl_id = (String) whereJson.get("taskdtl_id");
TaskDto taskDto = taskService.findByDtlId(taskdtl_id);
String task_id = (String) whereJson.get("task_id");
TaskDto taskDto = taskService.findByDtlId(task_id);
if (ObjectUtil.isEmpty(taskDto)) {
throw new BadRequestException("请输入正确的任务号!");
}
@@ -1070,7 +901,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
task_map.put("update_optname", nickName);
task_map.put("update_time", now);
//修改分配表起点,任务表起点
task_wql.update(task_map, "taskdtl_id = '" + taskDto.getTaskdtl_id() + "'");
task_wql.update(task_map, "task_id = '" + task_id + "'");
//解锁原货位点位
HashMap unlock_map = new HashMap();
@@ -1098,8 +929,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("material_id", dis_row.getString("material_id"));
i_form.put("quality_scode", dis_row.getString("quality_scode"));
i_form.put("pcsn", dis_row.getString("pcsn"));
i_form.put("ivt_level", dis_row.getString("ivt_level"));
i_form.put("is_active", dis_row.getString("is_active"));
i_form.put("change_qty", dis_row.getString("plan_qty"));
i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
@@ -1109,92 +938,24 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("qty_unit_name", dis_row.getString("qty_unit_name"));
storPublicService.IOStor(i_form, "32");
//对分配明细进行循环
JSONArray disdtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").query("iostorinvdis_id = '" + dis_row.getString("iostorinvdis_id") + "'").getResultJSONArray(0);
for (int j = 0; j < disdtl_rows.size(); j++) {
JSONObject disdtl_row = disdtl_rows.getJSONObject(j);
WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl");
dis_dtl.delete("iostorinvdisdtl_id = '" + (String) disdtl_row.get("iostorinvdisdtl_id") + "'");
//更新桶记录表,判断单据是否为立库返工入库,如果是则删除桶记录,并还原立库出库确认表
if (mst_jo.getString("bill_type").equals("000301")) {
WQLObject.getWQLObject("MD_PB_BucketRecord").delete("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'");
HashMap<String, String> out_map = new HashMap<>();
out_map.put("status", "0");
WQLObject.getWQLObject("PDM_LK_OutPalletMateril").update(out_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '1'");
} else {
HashMap<String, String> bucket_map = new HashMap<>();
bucket_map.put("status", "01");
bucket_map.put("makeup_optid", "");
bucket_map.put("makeup_optname", "");
bucket_map.put("makeup_time", "");
bucket_map.put("storagevehicle_id", "");
bucket_map.put("storagevehicle_code", "");
if (mst_jo.getString("bill_type").equals("000302")) {
bucket_map.put("quality_scode", "00");
}
WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'");
JSONObject bucket_now = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '01'").uniqueResult(0);
if (mst_jo.getString("bill_type").equals("000302")) {
//插入桶物料变动记录表,加待检
JSONObject change_jo = new JSONObject();
change_jo.put("change_id", IdUtil.getSnowflake(1, 1).nextId());
change_jo.put("bucket_code", bucket_now.get("bucketunique"));
change_jo.put("material_id", bucket_now.get("material_id"));
change_jo.put("pcsn", bucket_now.get("pcsn"));
change_jo.put("ivt_level", bucket_now.get("ivt_level"));
change_jo.put("is_active", bucket_now.get("is_active"));
change_jo.put("quality_scode", "00");
change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo.put("change_type_scode", "01");
change_jo.put("change_time", now);
change_jo.put("rec_person", currentUserId);
change_jo.put("change_qty", bucket_now.get("storage_qty"));
change_jo.put("result_qty", bucket_now.get("storage_qty"));
change.insert(change_jo);
//插入桶物料变动记录表,减不良
JSONObject change_jo2 = new JSONObject();
change_jo2.put("change_id", IdUtil.getSnowflake(1, 1).nextId());
change_jo2.put("bucket_code", bucket_now.get("bucketunique"));
change_jo2.put("material_id", bucket_now.get("material_id"));
change_jo2.put("pcsn", bucket_now.get("pcsn"));
change_jo2.put("ivt_level", bucket_now.get("ivt_level"));
change_jo2.put("is_active", bucket_now.get("is_active"));
change_jo2.put("quality_scode", "02");
change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id"));
change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name"));
change_jo2.put("change_type_scode", "02");
change_jo2.put("change_time", now);
change_jo2.put("rec_person", currentUserId);
change_jo2.put("change_qty", bucket_now.get("storage_qty"));
change_jo2.put("result_qty", "0");
change.insert(change_jo2);
}
}
}
//回写明细表数量
double real_qty = -Double.parseDouble((String) dis_row.get("plan_qty"));
JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + dis_row.get("iostorinvdtl_id") + "'").uniqueResult(0);
double assign_qty = NumberUtil.add(dtl.getDoubleValue("assign_qty"), real_qty);
dtl.put("assign_qty", assign_qty);
double unassign_qty = NumberUtil.sub(dtl.getDoubleValue("plan_qty"), assign_qty);
if (unassign_qty < 0) {
unassign_qty = 0;
}
dtl.put("unassign_qty", unassign_qty);
if (assign_qty > 0) {
dtl.put("bill_status", "30");
} else {
dtl.put("bill_status", "10");
}
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl);
//删除该分配
dis_wql.delete(dis_row);
}
//更新分配状态
HashMap<String, String> map = new HashMap<>();
map.put("point_id", "");
map.put("sect_id", "");
map.put("sect_code", "");
map.put("sect_name", "");
map.put("struct_id", "");
map.put("struct_code", "");
map.put("struct_name", "");
map.put("task_id", "");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'");
//修改明细状态
HashMap<String, String> dtl_map = new HashMap<>();
map.put("bill_status", "30");
WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'");
//更新主表状态
JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0);
if (dtl_rows.size() > 0) {
@@ -1223,7 +984,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
if (!taskDto.getTask_status().equals("01")) {
throw new BadRequestException("只能修改任务状态为生成的任务!");
}
AbstractAcsTask task = null;
AbstractAcsTask task = new InTask();
//调用ACS接受任务接口
JSONObject result = null;
if (ObjectUtil.isNotEmpty(result)) {

View File

@@ -89,16 +89,12 @@ public class StorPublicServiceImpl implements StorPublicService {
String sql_where = "stor_id = '" + from.getString("stor_id") +
"' and sect_date = '" + sect_date +
"' and material_id = '" + from.getString("material_id") +
"' and ivt_level = '" + from.getString("ivt_level") +
"' and is_active = '" + from.getString("is_active") +
"' and pcsn = '" + from.getString("pcsn") +
"' and quality_scode = '" + from.getString("quality_scode") + "'";
JSONObject jo = wql_IOSectDaily.query(sql_where).uniqueResult(0);
if (jo == null) {// 新增
String sql_where_before = "stor_id = '" + from.getString("stor_id") +
"' and material_id = '" + from.getString("material_id") +
"' and ivt_level = '" + from.getString("ivt_level") +
"' and is_active = '" + from.getString("is_active") +
"' and pcsn = '" + from.getString("pcsn") +
"' and quality_scode = '" + from.getString("quality_scode") + "'";
JSONObject jo_before = wql_IOSectDaily.query(sql_where_before, "sect_date desc").uniqueResult(0);
@@ -164,9 +160,7 @@ public class StorPublicServiceImpl implements StorPublicService {
String struct_id_In = "";
String material_id_In = "";
String pcsn_In = "";
String ivt_level_In = "";
String quality_scode_In = "";
String is_active_In = "";
double change_qty = 0;
if (ObjectUtil.isEmpty(from)) {
throw new BadRequestException("输入from异常请检查");
@@ -187,18 +181,10 @@ public class StorPublicServiceImpl implements StorPublicService {
if (StrUtil.isBlank(pcsn_In)) {
throw new BadRequestException("物料批次不能为空");
}
ivt_level_In = from.getString("ivt_level");
if (StrUtil.isBlank(ivt_level_In)) {
throw new BadRequestException("库存等级不能为空");
}
quality_scode_In = from.getString("quality_scode");
if (StrUtil.isBlank(quality_scode_In)) {
throw new BadRequestException("品质类型不能为空");
}
is_active_In = from.getString("is_active");
if (StrUtil.isBlank(is_active_In)) {
throw new BadRequestException("是否可用不能为空");
}
change_qty = from.getDoubleValue("change_qty");
if (change_qty <= 0) {
throw new BadRequestException("变动数异常,请检查");
@@ -206,8 +192,6 @@ public class StorPublicServiceImpl implements StorPublicService {
/*"struct_id = '" + struct_id_In +
"' and material_id = '" + material_id_In +
"' and pcsn = '" + pcsn_In +
"' and ivt_level = '" + ivt_level_In +
"' and is_active = '" + is_active_In +
"' and quality_scode = '" + quality_scode_In + "'";*/
// 查询条件
StringBuffer sql_where = new StringBuffer("struct_id = '");
@@ -216,10 +200,6 @@ public class StorPublicServiceImpl implements StorPublicService {
sql_where.append(material_id_In);
sql_where.append("' and pcsn = '");
sql_where.append(pcsn_In);
sql_where.append("' and ivt_level = '");
sql_where.append(ivt_level_In);
sql_where.append("' and is_active = '");
sql_where.append(is_active_In);
sql_where.append("' and quality_scode = '");
sql_where.append(quality_scode_In);
sql_where.append("'");

View File

@@ -25,6 +25,7 @@
输入.container_name TYPEAS s_string
输入.package_box_sn TYPEAS s_string
输入.iostorinv_id TYPEAS s_string
输入.iostorinvdtl_id TYPEAS s_string
[临时表]
@@ -154,10 +155,13 @@
SELECT
dis.*,
mb.material_code,
mb.material_name
mb.material_name,
po.point_code,
po.point_name
FROM
st_ivt_iostorinvdis dis
INNER JOIN md_me_materialbase mb ON mb.material_id = dis.material_id
LEFT JOIN SCH_BASE_POINT po ON po.point_id = dis.point_id
where
dis.box_no = 输入.package_box_sn
AND
@@ -170,35 +174,32 @@
QUERY
SELECT
dis.iostorinv_id,
dis.material_id,
mb.material_code,
mb.material_name,
dis.pcsn,
dis.seq_no,
dis.storagevehicle_code,
(case when dtl.bucket_num is null then 0 else dtl.bucket_num end) AS bucket_num,
dis.plan_qty,
dis.struct_code,
dis.struct_code AS new_struct_code,
task.task_status AS work_status,
task.task_code,
dis.point_code,
dis.point_code AS new_point_code,
dis.point_name,
dis.iostorinvdis_id,
dis.task_id,
task.taskdtl_id
dis.material_id,
mb.material_code,
mb.material_name,
dis.pcsn,
dis.seq_no,
dis.storagevehicle_code,
dis.plan_qty,
dis.struct_code,
dis.struct_code AS new_struct_code,
task.task_status AS work_status,
task.task_code,
po.point_code,
po.point_code AS new_point_code,
po.point_name,
dis.iostorinvdis_id,
dis.task_id,
dis.box_no
FROM
st_ivt_iostorinvdis dis
st_ivt_iostorinvdis dis
INNER JOIN md_me_materialbase mb ON mb.material_id = dis.material_id
LEFT JOIN (
SELECT COUNT(disdtl.iostorinvdisdtl_id) AS bucket_num,iostorinvdis_id from st_ivt_iostorinvdisdtl disdtl GROUP BY disdtl.iostorinvdis_id
) dtl ON dtl.iostorinvdis_id = dis.iostorinvdis_id
LEFT JOIN sch_base_point po ON po.point_id = dis.point_id
LEFT JOIN sch_base_task task ON task.task_id = dis.task_id AND task.is_delete = '0'
WHERE
dis.task_id <> ''
dis.task_id <> ''
AND
dis.task_id is not null
dis.task_id is not null
AND
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
OPTION 输入.is_finish = "1"

View File

@@ -0,0 +1,163 @@
package org.nl.wms.st.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.system.util.CodeUtil;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.service.TaskService;
import org.nl.wms.sch.service.dto.TaskDto;
import org.nl.wms.st.inbill.service.RawAssistIStorService;
import org.nl.wms.st.inbill.service.impl.InbillServiceImpl;
import org.nl.wms.st.inbill.service.impl.RawAssistIStorServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
/**
* Created by ZZ on 2021/12/22.
*/
public class InTask extends AbstractAcsTask {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
HashMap map = new HashMap();
//1:执行中,2:完成 ,3:acs取消
if(status.equals("1")){
map.put("task_status","03");
//更新入库单分配任务状态
HashMap dis_map = new HashMap();
dis_map.put("work_status","02");
dis_map.put("is_issued","1");
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map,"task_id = '"+taskObj.getString("task_id")+"'");
}
if(status.equals("2")){
map.put("task_status", TaskStatusEnum.FINISHED.getCode());
//调用入库分配确认方法
InbillServiceImpl inbillService = SpringContextHolder.getBean(InbillServiceImpl.class);
JSONObject dis_form = new JSONObject();
dis_form.put("task_id",taskObj.getString("task_id"));
inbillService.confirmDis(dis_form);
}
map.put("update_optid",currentUserId);
map.put("update_optname",nickName);
map.put("update_time",now);
WQLObject.getWQLObject("SCH_BASE_Task").update(map,"taskdtl_id = '"+taskObj.getString("taskdtl_id")+"'");
}
@Override
public void findStartPoint() {
}
@Override
public void findNextPoint() {
}
@Override
@Transactional(rollbackFor = Exception.class)
public String createTask(JSONObject form) {
TaskService taskService = SpringContextHolder.getBean(TaskService.class);
String task_type = form.getString("task_type");
if (StrUtil.isBlank(task_type)) {
throw new BadRequestException("业务类型不能为空");
}
String start_device_code = form.getString("start_device_code");
if (StrUtil.isBlank(start_device_code)) {
throw new BadRequestException("起点不能为空");
}
String next_device_code = form.getString("next_device_code");
if (StrUtil.isBlank(next_device_code)) {
throw new BadRequestException("下一点不能为空");
}
String vehicle_code = form.getString("vehicle_code");
if (StrUtil.isBlank(vehicle_code)) {
throw new BadRequestException("载具号不能为空");
}
String taskdtl_type = form.getString("taskdtl_type");
if (StrUtil.isBlank(taskdtl_type)) {
throw new BadRequestException("任务类型不能为空");
}
Long currentUserId = SecurityUtils.getCurrentUserId();
String currentUsername = SecurityUtils.getCurrentUsername();
/*JSONObject jo = new JSONObject();
jo.put("end_point",next_device_code);
jo.put("vehicle_code",vehicle_code);
jo.put("storagevehicle_type",form.getString("storagevehicle_type"));
jo.put("storagevehicle_id",form.getString("storagevehicle_id"));
String task_code = CodeUtil.getNewCode("TASK_CODE");
String priority = "0";*/
/*TaskDto taskDto = new TaskDto();
taskDto.setTask_code(task_code);
taskDto.setTask_type(task_type);
taskDto.setTaskdtl_type(task_type);
taskDto.setStart_point_code(start_device_code);
taskDto.setNext_point_code(next_device_code);
taskDto.setVehicle_code(vehicle_code);
taskDto.setTaskdtl_type(taskdtl_type);
taskDto.setHandle_class(this.getClass().getName());
taskDto.setFinished_type("00");
taskDto.setTask_status("01");
taskService.create(taskDto);
TaskDto taskDto1 = taskService.findByCode(task_code);*/
JSONObject json = new JSONObject();
json.put("task_id", IdUtil.getSnowflake(1,1).nextId());
json.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
json.put("task_type", form.getString("task_type"));
json.put("vehicle_code", form.getString("vehicle_code"));
json.put("task_status", "01");
json.put("point_code1", start_device_code);
json.put("point_code2", next_device_code);
json.put("handle_class", this.getClass().getName());
json.put("create_id", currentUserId);
json.put("create_name", currentUsername);
json.put("create_time", DateUtil.now());
json.put("priority","1" );
json.put("acs_task_type","5" );
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
return json.getString("task_id");
}
@Override
@Transactional(rollbackFor = Exception.class)
public void forceFinish(String taskdtl_id) {
//任务表
WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task");
JSONObject task = wo_Task.query("task_status<>'99' and taskdtl_id='"+taskdtl_id+"'").uniqueResult(0);
if(task==null){
throw new BadRequestException("查询不到操作的任务记录!");
}
Map whereJson = new HashMap<String,String>();
whereJson.put("task_code",task.getString("task_code"));
RawAssistIStorServiceImpl inbillService = SpringContextHolder.getBean(RawAssistIStorServiceImpl.class);
inbillService.confirmTask(whereJson);
}
@Override
public void pullBack(String taskdtl_id) {
}
@Override
public void cancel(String taskdtl_id) {
}
}