修改
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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("删除一行")
|
||||
|
||||
@@ -30,8 +30,6 @@ public interface RawAssistIStorService {
|
||||
|
||||
JSONArray getIODtl(Map whereJson);
|
||||
|
||||
void confirmvehicle(Map whereJson);
|
||||
|
||||
void deleteDisDtl(Map whereJson);
|
||||
|
||||
void divStruct(Map whereJson);
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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("'");
|
||||
|
||||
@@ -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"
|
||||
|
||||
163
lms/nladmin-system/src/main/java/org/nl/wms/st/task/InTask.java
Normal file
163
lms/nladmin-system/src/main/java/org/nl/wms/st/task/InTask.java
Normal 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) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user