fix:合并代码后部分SQL不兼容shardingsphereSQL
This commit is contained in:
@@ -74,7 +74,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
// 用于判断下发几个任务组
|
// 用于判断下发几个任务组
|
||||||
|
|
||||||
// 判断当前正在执行或者下发的任务有几种规格:根据任务组进行判断,同一任务组代表同一木箱规格
|
// 判断当前正在执行或者下发的任务有几种规格:根据任务组进行判断,同一任务组代表同一木箱规格
|
||||||
List<JSONObject> likeAllArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete = '0' " )
|
List<JSONObject> likeAllArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete = '0' ")
|
||||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|
||||||
Map<String, List<JSONObject>> likeArr = likeAllArr.stream()
|
Map<String, List<JSONObject>> likeArr = likeAllArr.stream()
|
||||||
@@ -93,7 +93,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 组织需要下发的任务
|
// 组织需要下发的任务
|
||||||
for(String task_group_id : groupMap.keySet()) {
|
for (String task_group_id : groupMap.keySet()) {
|
||||||
taskArr.addAll(groupMap.get(task_group_id));
|
taskArr.addAll(groupMap.get(task_group_id));
|
||||||
flag -= 1;
|
flag -= 1;
|
||||||
|
|
||||||
@@ -119,6 +119,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
.vehicle_code(json.getString("vehicle_code2"))
|
.vehicle_code(json.getString("vehicle_code2"))
|
||||||
.vehicle_code2(json.getString("vehicle_code"))
|
.vehicle_code2(json.getString("vehicle_code"))
|
||||||
.interaction_json(json.getJSONObject("request_param"))
|
.interaction_json(json.getJSONObject("request_param"))
|
||||||
|
.storage_task_type(StrUtil.isNotEmpty(json.getJSONObject("request_param").getString("storage_task_type")) ? json.getJSONObject("request_param").getString("storage_task_type") : null)
|
||||||
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
||||||
.priority(json.getString("zdepth"))
|
.priority(json.getString("zdepth"))
|
||||||
.class_type(json.getString("task_type"))
|
.class_type(json.getString("task_type"))
|
||||||
@@ -138,7 +139,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
.filter(row -> row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深")))
|
.filter(row -> row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深")))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(collect)){
|
if (ObjectUtil.isEmpty(collect)) {
|
||||||
return taskArr;
|
return taskArr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,20 +157,20 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
if (ObjectUtil.isNotEmpty(jsonObject)) {
|
if (ObjectUtil.isNotEmpty(jsonObject)) {
|
||||||
result.add(jsonObject);
|
result.add(jsonObject);
|
||||||
} else {
|
} else {
|
||||||
if (strJson.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库锁"))){
|
if (strJson.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库锁"))) {
|
||||||
JSONObject update_jo = new JSONObject();
|
JSONObject update_jo = new JSONObject();
|
||||||
update_jo.put("remark","下发深货位任务时,浅货位存在出库锁却不存在任务,暂时不下发!");
|
update_jo.put("remark", "下发深货位任务时,浅货位存在出库锁却不存在任务,暂时不下发!");
|
||||||
WQLObject.getWQLObject("SCH_BASE_Task").update(update_jo,"task_id = '" + json.getString("task_id") + "'");
|
WQLObject.getWQLObject("SCH_BASE_Task").update(update_jo, "task_id = '" + json.getString("task_id") + "'");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
json.put("zdepth",IOSEnum.IS_NOTANDYES.code("是"));
|
json.put("zdepth", IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
json.remove("flag");
|
json.remove("flag");
|
||||||
result.add(json);
|
result.add(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = result.stream()
|
result = result.stream()
|
||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
return result;
|
return result;
|
||||||
@@ -183,7 +184,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); // 仓位表
|
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); // 仓位表
|
||||||
String task_id = taskObj.getString("task_id");
|
String task_id = taskObj.getString("task_id");
|
||||||
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
|
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonTask)){
|
if (ObjectUtil.isEmpty(jsonTask)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||||
@@ -209,35 +210,35 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
StIvtIostorinvOutServiceImpl bean = SpringContextHolder.getBean(StIvtIostorinvOutServiceImpl.class);
|
StIvtIostorinvOutServiceImpl bean = SpringContextHolder.getBean(StIvtIostorinvOutServiceImpl.class);
|
||||||
bean.finishTask(jsonTask);
|
bean.finishTask(jsonTask);
|
||||||
// 判断是否有异常货位的需要更新
|
// 判断是否有异常货位的需要更新
|
||||||
JSONObject jsonExt = attrTab.query("inv_code = '" + jsonTask.getString("vehicle_code") + "' AND lock_type = '"+IOSEnum.LOCK_TYPE.code("出库异常锁")+"'").uniqueResult(0);
|
JSONObject jsonExt = attrTab.query("inv_code = '" + jsonTask.getString("vehicle_code") + "' AND lock_type = '" + IOSEnum.LOCK_TYPE.code("出库异常锁") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(jsonExt)) {
|
if (ObjectUtil.isNotEmpty(jsonExt)) {
|
||||||
jsonExt.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
|
jsonExt.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||||
jsonExt.put("inv_code", "");
|
jsonExt.put("inv_code", "");
|
||||||
attrTab.update(jsonExt);
|
attrTab.update(jsonExt);
|
||||||
}
|
}
|
||||||
if (!jsonTask.getString("point_code2").equals("RK1003")){
|
if (!jsonTask.getString("point_code2").equals("RK1003")) {
|
||||||
JSONObject jsonParam = new JSONObject();
|
JSONObject jsonParam = new JSONObject();
|
||||||
jsonParam.put("device_code",jsonTask.getString("point_code2"));
|
jsonParam.put("device_code", jsonTask.getString("point_code2"));
|
||||||
jsonParam.put("vehicle_code",jsonTask.getString("vehicle_code"));
|
jsonParam.put("vehicle_code", jsonTask.getString("vehicle_code"));
|
||||||
jsonParam.put("task_group_id",jsonTask.getString("task_group_id"));
|
jsonParam.put("task_group_id", jsonTask.getString("task_group_id"));
|
||||||
jsonParam.put("vehicle_type",jsonTask.getJSONObject("request_param").getString("containerType"));
|
jsonParam.put("vehicle_type", jsonTask.getJSONObject("request_param").getString("containerType"));
|
||||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||||
bean1.createHeapTask(jsonParam);
|
bean1.createHeapTask(jsonParam);
|
||||||
}
|
}
|
||||||
// 判断此任务组是否全部完成
|
// 判断此任务组是否全部完成
|
||||||
JSONArray resultJSONArray = taskTab.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' and handle_class = '"+THIS_CLASS+"'")
|
JSONArray resultJSONArray = taskTab.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' and handle_class = '" + THIS_CLASS + "'")
|
||||||
.getResultJSONArray(0);
|
.getResultJSONArray(0);
|
||||||
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
||||||
try {
|
try {
|
||||||
this.immediateNotifyAcs(null);
|
this.immediateNotifyAcs(null);
|
||||||
}catch (Exception ex){
|
} catch (Exception ex) {
|
||||||
log.warn("载具出库批量下发异常",ex.getMessage());
|
log.warn("载具出库批量下发异常", ex.getMessage());
|
||||||
if (!ex.getMessage().equals("存在相同的任务号")){
|
if (!ex.getMessage().equals("存在相同的任务号")) {
|
||||||
throw new BadRequestException(ex.getMessage());
|
throw new BadRequestException(ex.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, "cratergv", 30,35, this);
|
}, "cratergv", 30, 35, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,7 +304,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
HashMap<String, Integer> intMap = new HashMap<>();
|
HashMap<String, Integer> intMap = new HashMap<>();
|
||||||
|
|
||||||
for (String key : map.keySet()) {
|
for (String key : map.keySet()) {
|
||||||
intMap.put(key,map.get(key).size());
|
intMap.put(key, map.get(key).size());
|
||||||
}
|
}
|
||||||
|
|
||||||
LinkedHashMap<String, Integer> collect = intMap.entrySet()
|
LinkedHashMap<String, Integer> collect = intMap.entrySet()
|
||||||
|
|||||||
@@ -129,16 +129,16 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getDisStructSet" resultType="org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.StructAllsetDto">
|
<select id="getDisStructSet" resultType="org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.StructAllsetDto">
|
||||||
select st_ivt_structattr.sect_id,
|
select sa.sect_id,
|
||||||
st_ivt_structattr.block_num,
|
sa.block_num,
|
||||||
st_ivt_structattr.row_num,
|
sa.row_num,
|
||||||
st_ivt_structattr.out_order_seq,
|
sa.out_order_seq,
|
||||||
st_ivt_structattr.struct_code,
|
sa.struct_code,
|
||||||
st_ivt_structattr.placement_type
|
sa.placement_type
|
||||||
from st_ivt_iostorinvdis dis
|
from st_ivt_iostorinvdis dis
|
||||||
left join st_ivt_structattr on st_ivt_iostorinvdis.struct_code = st_ivt_structattr.struct_code
|
left join st_ivt_structattr sa on dis.struct_code = sa.struct_code
|
||||||
where st_ivt_iostorinvdis.work_status = '00'
|
where dis.work_status = '00'
|
||||||
and st_ivt_iostorinvdis.iostorinv_id = #{iostorinvId}
|
and dis.iostorinv_id = #{iostorinvId}
|
||||||
<if test="iostorinvDtlId != null and iostorinvDtlId != ''">
|
<if test="iostorinvDtlId != null and iostorinvDtlId != ''">
|
||||||
AND dis.iostorinvdtl_id = #{iostorinvDtlId}
|
AND dis.iostorinvdtl_id = #{iostorinvDtlId}
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -1995,6 +1995,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
);
|
);
|
||||||
request_param.put("containerType", boxDao.getVehicle_type());
|
request_param.put("containerType", boxDao.getVehicle_type());
|
||||||
jsonTaskParam.put("request_param", request_param);
|
jsonTaskParam.put("request_param", request_param);
|
||||||
|
jsonTaskParam.put("storage_task_type","1");
|
||||||
jsonTaskParam.put("table_fk", disDaoList.get(0).getIostorinv_id().toString());
|
jsonTaskParam.put("table_fk", disDaoList.get(0).getIostorinv_id().toString());
|
||||||
|
|
||||||
if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅")) ||
|
if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅")) ||
|
||||||
@@ -2005,7 +2006,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
|||||||
}
|
}
|
||||||
jsonTaskParam.put("request_param", jsonTaskParam);
|
jsonTaskParam.put("request_param", jsonTaskParam);
|
||||||
|
|
||||||
TwoOutTask twoOutTask = new TwoOutTask();
|
TwoOutTask twoOutTask = SpringContextHolder.getBean(TwoOutTask.class);
|
||||||
String task_id = twoOutTask.createTask(jsonTaskParam);
|
String task_id = twoOutTask.createTask(jsonTaskParam);
|
||||||
|
|
||||||
// 更新分配明细
|
// 更新分配明细
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class CodeUtil {
|
|||||||
try {
|
try {
|
||||||
if (tryLock) {
|
if (tryLock) {
|
||||||
String flag = "1";
|
String flag = "1";
|
||||||
String code = HttpUtil.get("http://127.0.0.1:8013/api/codeDetail/getNewCode?code=" + ruleCode + "&flag=" + flag);
|
String code = HttpUtil.get("http://10.1.3.90:8011/api/codeDetail/getNewCode?code=" + ruleCode + "&flag=" + flag);
|
||||||
if (code.contains("status")){
|
if (code.contains("status")){
|
||||||
throw new BadRequestException(code);
|
throw new BadRequestException(code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
输入.sub_type TYPEAS s_string
|
输入.sub_type TYPEAS s_string
|
||||||
输入.quality_scode TYPEAS s_string
|
输入.quality_scode TYPEAS s_string
|
||||||
输入.control TYPEAS s_string
|
输入.control TYPEAS s_string
|
||||||
|
输入.limit_date TYPEAS s_string
|
||||||
|
|
||||||
[临时表]
|
[临时表]
|
||||||
--这边列出来的临时表就会在运行期动态创建
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
@@ -647,6 +648,10 @@
|
|||||||
ivt.pcsn like 输入.pcsn
|
ivt.pcsn like 输入.pcsn
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.limit_date <> ""
|
||||||
|
ivt.instorage_time <= 输入.limit_date
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
OPTION 输入.sap_pcsn <> ""
|
OPTION 输入.sap_pcsn <> ""
|
||||||
sub.sap_pcsn like 输入.sap_pcsn
|
sub.sap_pcsn like 输入.sap_pcsn
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|||||||
@@ -4,28 +4,38 @@
|
|||||||
|
|
||||||
<select id="queryAll" resultType="java.util.Map">
|
<select id="queryAll" resultType="java.util.Map">
|
||||||
SELECT
|
SELECT
|
||||||
mst.*,
|
mst.control_id,
|
||||||
attr.stor_code,
|
mst.control_code,
|
||||||
attr.stor_name
|
mst.biz_date,
|
||||||
|
mst.stor_id,
|
||||||
|
mst.total_qty,
|
||||||
|
mst.detail_count,
|
||||||
|
mst.bill_type,
|
||||||
|
mst.remark,
|
||||||
|
mst.input_optid,
|
||||||
|
mst.input_optname,
|
||||||
|
mst.input_time,
|
||||||
|
attr.stor_code,
|
||||||
|
attr.stor_name
|
||||||
FROM
|
FROM
|
||||||
st_ivt_controlmst mst
|
st_ivt_controlmst mst
|
||||||
INNER JOIN (
|
INNER JOIN (
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
control_id
|
control_id
|
||||||
FROM
|
FROM
|
||||||
st_ivt_controldtl dtl
|
st_ivt_controldtl dtl
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
<if test="query.box_no != null and query.box_no != ''">
|
<if test="query.box_no != null and query.box_no != ''">
|
||||||
and box_no = #{query.box_no}
|
and box_no = #{query.box_no}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="query.pcsn != null and query.pcsn != ''">
|
<if test="query.pcsn != null and query.pcsn != ''">
|
||||||
and pcsn = #{query.pcsn}
|
and pcsn = #{query.pcsn}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
GROUP BY control_id
|
GROUP BY control_id
|
||||||
) dtl ON dtl.control_id = mst.control_id
|
) dtl ON dtl.control_id = mst.control_id
|
||||||
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.stor_id
|
LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.stor_id
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ public class BakingServiceImpl implements BakingService {
|
|||||||
param.put("product_area", jsonPointZc.getString("product_area"));
|
param.put("product_area", jsonPointZc.getString("product_area"));
|
||||||
param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60));
|
param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60));
|
||||||
|
|
||||||
InHotTask inHotTask = new InHotTask();
|
InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class);
|
||||||
String task_id = inHotTask.createTask(param);
|
String task_id = inHotTask.createTask(param);
|
||||||
|
|
||||||
// 3.插入主表
|
// 3.插入主表
|
||||||
@@ -343,14 +343,14 @@ public class BakingServiceImpl implements BakingService {
|
|||||||
param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60));
|
param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60));
|
||||||
|
|
||||||
// 创建冷却区 --> 暂存位的任务
|
// 创建冷却区 --> 暂存位的任务
|
||||||
InHotTask inHotTask = new InHotTask();
|
InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class);
|
||||||
String task_id = inHotTask.createTask(param);
|
String task_id = inHotTask.createTask(param);
|
||||||
|
|
||||||
// 4.插入烘箱区出入主表
|
// 4.插入烘箱区出入主表
|
||||||
JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
||||||
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) {
|
if (ObjectUtil.isEmpty(jsonMater)) {
|
||||||
throw new BadRequestException("物料基础信息中无此物料!");
|
throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject hotParam = new JSONObject();
|
JSONObject hotParam = new JSONObject();
|
||||||
@@ -430,7 +430,7 @@ public class BakingServiceImpl implements BakingService {
|
|||||||
}
|
}
|
||||||
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) {
|
if (ObjectUtil.isEmpty(jsonMater)) {
|
||||||
throw new BadRequestException("物料基础信息中无此物料!");
|
throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询当前点位为空且没有任务的桁架内缓存点
|
//查询当前点位为空且没有任务的桁架内缓存点
|
||||||
@@ -562,7 +562,7 @@ public class BakingServiceImpl implements BakingService {
|
|||||||
}
|
}
|
||||||
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) {
|
if (ObjectUtil.isEmpty(jsonMater)) {
|
||||||
throw new BadRequestException("物料基础信息中无此物料!");
|
throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询该母卷对应最近的一条入烘箱记录
|
//查询该母卷对应最近的一条入烘箱记录
|
||||||
@@ -739,7 +739,7 @@ public class BakingServiceImpl implements BakingService {
|
|||||||
JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
||||||
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) {
|
if (ObjectUtil.isEmpty(jsonMater)) {
|
||||||
throw new BadRequestException("物料基础信息中无此物料!");
|
throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!");
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject jsonCool = new JSONObject();
|
JSONObject jsonCool = new JSONObject();
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ public class HandleBakingServiceImpl implements HandleBakingService {
|
|||||||
JSONObject jsonRaw = pdmBiRawfoilworkorderService.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
JSONObject jsonRaw = pdmBiRawfoilworkorderService.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0);
|
||||||
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) {
|
if (ObjectUtil.isEmpty(jsonMater)) {
|
||||||
throw new BadRequestException("物料基础信息中无此物料");
|
throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StrUtil.equals(option, "1")) {
|
if (StrUtil.equals(option, "1")) {
|
||||||
|
|||||||
@@ -145,4 +145,6 @@ public class AcsTaskDto {
|
|||||||
private String barcode;
|
private String barcode;
|
||||||
private String car_no;
|
private String car_no;
|
||||||
|
|
||||||
|
private String storage_task_type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.nl.wms.sch.manage;
|
|||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -14,7 +15,10 @@ import org.nl.modules.common.config.FileProperties;
|
|||||||
import org.nl.modules.common.utils.FileUtil;
|
import org.nl.modules.common.utils.FileUtil;
|
||||||
|
|
||||||
|
|
||||||
|
import org.nl.modules.common.utils.StringUtils;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.system.service.tools.IToolLocalStorageService;
|
import org.nl.system.service.tools.IToolLocalStorageService;
|
||||||
import org.nl.system.service.tools.dao.ToolLocalStorage;
|
import org.nl.system.service.tools.dao.ToolLocalStorage;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
@@ -68,15 +72,20 @@ public class AutoSaveIvtExcelTwo {
|
|||||||
row.createCell(15).setCellValue("管件类型");
|
row.createCell(15).setCellValue("管件类型");
|
||||||
row.createCell(16).setCellValue("管件描述");
|
row.createCell(16).setCellValue("管件描述");
|
||||||
|
|
||||||
|
String limitDate = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("limit_date").getValue();
|
||||||
|
|
||||||
//查询库存明细
|
//查询库存明细
|
||||||
JSONObject map = new JSONObject();
|
JSONObject map = new JSONObject();
|
||||||
map.put("flag", "22");
|
map.put("flag", "22");
|
||||||
map.put("ivt_status", "canuse_qty");
|
map.put("ivt_status", "canuse_qty");
|
||||||
|
if (StrUtil.isNotEmpty(limitDate)) {
|
||||||
|
map.put("limit_date", limitDate);
|
||||||
|
}
|
||||||
|
|
||||||
JSONArray resultJSONArray = WQL.getWO("QST_STRUCTIVT001").addParamMap(map).process().getResultJSONArray(0);
|
JSONArray resultJSONArray = WQL.getWO("QST_STRUCTIVT001").addParamMap(map).process().getResultJSONArray(0);
|
||||||
|
|
||||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||||
HSSFRow row_dtl = sheet.createRow(i+1);
|
HSSFRow row_dtl = sheet.createRow(i + 1);
|
||||||
JSONObject dtl = resultJSONArray.getJSONObject(i);
|
JSONObject dtl = resultJSONArray.getJSONObject(i);
|
||||||
row_dtl.createCell(0).setCellValue(dtl.getString("stor_name"));
|
row_dtl.createCell(0).setCellValue(dtl.getString("stor_name"));
|
||||||
row_dtl.createCell(1).setCellValue(dtl.getString("sect_name"));
|
row_dtl.createCell(1).setCellValue(dtl.getString("sect_name"));
|
||||||
@@ -99,9 +108,16 @@ public class AutoSaveIvtExcelTwo {
|
|||||||
|
|
||||||
|
|
||||||
String type = FileUtil.getFileType("xls");
|
String type = FileUtil.getFileType("xls");
|
||||||
Date date = new Date();
|
String nowStr = "";
|
||||||
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
|
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
|
||||||
String nowStr = format.format(date) + "-";
|
if (StrUtil.isNotEmpty(limitDate)){
|
||||||
|
SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
Date date = originalFormat.parse(limitDate);
|
||||||
|
nowStr = format.format(date) + "-";
|
||||||
|
}else {
|
||||||
|
Date date = new Date();
|
||||||
|
nowStr = format.format(date) + "-";
|
||||||
|
}
|
||||||
String path = properties.getPath().getPath() + type + File.separator + nowStr + "8库存报表.xls";
|
String path = properties.getPath().getPath() + type + File.separator + nowStr + "8库存报表.xls";
|
||||||
FileOutputStream fileOut = new FileOutputStream(path);
|
FileOutputStream fileOut = new FileOutputStream(path);
|
||||||
ToolLocalStorage localStorage = new ToolLocalStorage(
|
ToolLocalStorage localStorage = new ToolLocalStorage(
|
||||||
|
|||||||
@@ -4849,8 +4849,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
map.put("remark", "%" + map.get("remark") + "%");
|
map.put("remark", "%" + map.get("remark") + "%");
|
||||||
}
|
}
|
||||||
JSONArray jo = WQL.getWO("QST_IVT_CHECKOUTBILL")
|
JSONArray jo = WQL.getWO("QST_IVT_CHECKOUTBILL")
|
||||||
.addParam("flag", "3")
|
.addParam("flag", "33")
|
||||||
.addParam("material_id", map.get("material_id"))
|
|
||||||
.addParam("pcsn", map.get("pcsn"))
|
.addParam("pcsn", map.get("pcsn"))
|
||||||
.addParam("sap_pcsn", map.get("sap_pcsn"))
|
.addParam("sap_pcsn", map.get("sap_pcsn"))
|
||||||
.addParam("iostorinv_id", map.get("iostorinv_id"))
|
.addParam("iostorinv_id", map.get("iostorinv_id"))
|
||||||
@@ -4926,7 +4925,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
|
|
||||||
for (String box_no : boxSet) {
|
for (String box_no : boxSet) {
|
||||||
JSONArray boxIvtArr = WQL.getWO("QST_IVT_CHECKOUTBILL")
|
JSONArray boxIvtArr = WQL.getWO("QST_IVT_CHECKOUTBILL")
|
||||||
.addParam("flag", "3")
|
.addParam("flag", "33")
|
||||||
.addParam("box_no", box_no)
|
.addParam("box_no", box_no)
|
||||||
.process()
|
.process()
|
||||||
.getResultJSONArray(0);
|
.getResultJSONArray(0);
|
||||||
|
|||||||
@@ -603,6 +603,58 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "33"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
ivt2.*,
|
||||||
|
'0' AS plan_qty,
|
||||||
|
mb.material_code,
|
||||||
|
mb.material_name,
|
||||||
|
struct.sect_id,
|
||||||
|
struct.sect_name,
|
||||||
|
struct.sect_code,
|
||||||
|
struct.storagevehicle_id,
|
||||||
|
struct.storagevehicle_code,
|
||||||
|
point.point_id,
|
||||||
|
sub.sap_pcsn,
|
||||||
|
CASE
|
||||||
|
WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180'
|
||||||
|
THEN '1'
|
||||||
|
WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90'
|
||||||
|
THEN '1'
|
||||||
|
ELSE '0'
|
||||||
|
END AS is_overdue
|
||||||
|
FROM
|
||||||
|
ST_IVT_StructIvt ivt2
|
||||||
|
LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt2.struct_id
|
||||||
|
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id
|
||||||
|
LEFT JOIN SCH_BASE_Point point ON struct.struct_id = point.source_id
|
||||||
|
LEFT JOIN pdm_bi_subpackagerelation sub ON struct.storagevehicle_code = sub.package_box_sn and ivt2.pcsn = sub.container_name
|
||||||
|
WHERE
|
||||||
|
struct.lock_type='1'
|
||||||
|
OPTION 输入.sale_order_name <> ""
|
||||||
|
sub.sale_order_name = 输入.sale_order_name
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
ivt2.pcsn = 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.sect_id <> ""
|
||||||
|
struct.sect_id = 输入.sect_id
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.stor_id <> ""
|
||||||
|
struct.stor_id = 输入.stor_id
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.box_no <> ""
|
||||||
|
sub.package_box_sn = 输入.box_no
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.sap_pcsn <> ""
|
||||||
|
sub.sap_pcsn = 输入.sap_pcsn
|
||||||
|
ENDOPTION
|
||||||
|
order by ivt2.canuse_qty,ivt2.pcsn desc
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "4"
|
IF 输入.flag = "4"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
@change="crud.toQuery"
|
@change="mytoQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@@ -192,6 +192,7 @@ export default {
|
|||||||
del: ['admin', 'inbill:del']
|
del: ['admin', 'inbill:del']
|
||||||
},
|
},
|
||||||
storlist: [],
|
storlist: [],
|
||||||
|
query_flag: true,
|
||||||
tableDataDtl: [],
|
tableDataDtl: [],
|
||||||
open_type: null,
|
open_type: null,
|
||||||
lock_type: null,
|
lock_type: null,
|
||||||
@@ -214,6 +215,38 @@ export default {
|
|||||||
this.initQuery()
|
this.initQuery()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
debugger
|
||||||
|
if (this.query_flag) {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
const endYear = end.getFullYear()
|
||||||
|
var endMonth = end.getMonth() + 1
|
||||||
|
if (end.getMonth() + 1 < 10) {
|
||||||
|
endMonth = '0' + endMonth.toString()
|
||||||
|
}
|
||||||
|
var endDay = end.getDate()
|
||||||
|
if (end.getDate() < 10) {
|
||||||
|
endDay = '0' + endDay.toString()
|
||||||
|
}
|
||||||
|
const endDate = endYear + '-' + endMonth + '-' + endDay + ' 23:59:59'
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||||
|
const startYear = start.getFullYear()
|
||||||
|
var startMonth = start.getMonth() + 1
|
||||||
|
if (start.getMonth() + 1 < 10) {
|
||||||
|
startMonth = '0' + startMonth.toString()
|
||||||
|
}
|
||||||
|
var startDay = start.getDate()
|
||||||
|
if (start.getDate() < 10) {
|
||||||
|
startDay = '0' + startDay.toString()
|
||||||
|
}
|
||||||
|
const startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00'
|
||||||
|
this.crud.query.createTime = [startDate, endDate]
|
||||||
|
this.crud.query.begin_time = startDate
|
||||||
|
this.crud.query.end_time = endDate
|
||||||
|
this.query_flag = false
|
||||||
|
}
|
||||||
|
},
|
||||||
/* 搜索框创建时间默认最近一周*/
|
/* 搜索框创建时间默认最近一周*/
|
||||||
initQuery() {
|
initQuery() {
|
||||||
const end = new Date()
|
const end = new Date()
|
||||||
@@ -240,6 +273,15 @@ export default {
|
|||||||
}
|
}
|
||||||
const startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00'
|
const startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00'
|
||||||
this.$set(this.query, 'createTime', [startDate, endDate])
|
this.$set(this.query, 'createTime', [startDate, endDate])
|
||||||
|
},
|
||||||
|
mytoQuery(array1) {
|
||||||
|
if (array1 === null) {
|
||||||
|
this.crud.query.begin_time = ''
|
||||||
|
this.crud.query.end_time = ''
|
||||||
|
} else {
|
||||||
|
this.crud.query.begin_time = array1[0]
|
||||||
|
this.crud.query.end_time = array1[1]
|
||||||
|
}
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
addDialog(type) {
|
addDialog(type) {
|
||||||
|
|||||||
@@ -273,32 +273,41 @@ export default {
|
|||||||
const today = new Date()
|
const today = new Date()
|
||||||
const threeDaysAgo = new Date(today)
|
const threeDaysAgo = new Date(today)
|
||||||
threeDaysAgo.setDate(today.getDate() - 3)
|
threeDaysAgo.setDate(today.getDate() - 3)
|
||||||
const year = today.getFullYear()
|
// 从 threeDaysAgo 提取完整日期信息
|
||||||
const month = String(today.getMonth() + 1).padStart(2, '0')
|
const beforeYear = threeDaysAgo.getFullYear();
|
||||||
const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0')
|
const beforeMonth = String(threeDaysAgo.getMonth() + 1).padStart(2, '0');
|
||||||
const day = String(today.getDate()).padStart(2, '0')
|
const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0');
|
||||||
|
|
||||||
// 2. 构造固定时分秒的时间字符串(符合datetime-local格式)
|
// 从 today 提取完整日期信息
|
||||||
const startTime = `${year}-${month}-${beforeDay} 00:00:00`
|
const currentYear = today.getFullYear();
|
||||||
const endTime = `${year}-${month}-${day} 23:59:59`
|
const currentMonth = String(today.getMonth() + 1).padStart(2, '0');
|
||||||
|
const currentDay = String(today.getDate()).padStart(2, '0');
|
||||||
|
|
||||||
|
// 构造正确的时间范围
|
||||||
|
const startTime = `${beforeYear}-${beforeMonth}-${beforeDay} 00:00:00`;
|
||||||
|
const endTime = `${currentYear}-${currentMonth}-${currentDay} 23:59:59`;
|
||||||
this.crud.query.createTime = [startTime, endTime]
|
this.crud.query.createTime = [startTime, endTime]
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
debugger
|
|
||||||
if (this.query_flag) {
|
if (this.query_flag) {
|
||||||
const today = new Date()
|
const today = new Date()
|
||||||
const threeDaysAgo = new Date(today) // 复制今天日期,避免修改原对象
|
const threeDaysAgo = new Date(today)
|
||||||
threeDaysAgo.setDate(today.getDate() - 3) // 正确减去3天
|
threeDaysAgo.setDate(today.getDate() - 3)
|
||||||
const year = today.getFullYear()
|
// 从 threeDaysAgo 提取完整日期信息
|
||||||
const month = String(today.getMonth() + 1).padStart(2, '0')
|
const beforeYear = threeDaysAgo.getFullYear();
|
||||||
const day = String(today.getDate()).padStart(2, '0')
|
const beforeMonth = String(threeDaysAgo.getMonth() + 1).padStart(2, '0');
|
||||||
const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0')
|
const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0');
|
||||||
|
|
||||||
// 2. 构造固定时分秒的时间字符串(符合datetime-local格式)
|
// 从 today 提取完整日期信息
|
||||||
const startTime = `${year}-${month}-${beforeDay} 00:00:00`
|
const currentYear = today.getFullYear();
|
||||||
const endTime = `${year}-${month}-${day} 23:59:59`
|
const currentMonth = String(today.getMonth() + 1).padStart(2, '0');
|
||||||
|
const currentDay = String(today.getDate()).padStart(2, '0');
|
||||||
|
|
||||||
|
// 构造正确的时间范围
|
||||||
|
const startTime = `${beforeYear}-${beforeMonth}-${beforeDay} 00:00:00`;
|
||||||
|
const endTime = `${currentYear}-${currentMonth}-${currentDay} 23:59:59`;
|
||||||
this.crud.query.createTime = [startTime, endTime]
|
this.crud.query.createTime = [startTime, endTime]
|
||||||
this.crud.query.begin_time = startTime
|
this.crud.query.begin_time = startTime
|
||||||
this.crud.query.end_time = endTime
|
this.crud.query.end_time = endTime
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
<el-form-item label="创建时间" prop="createTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="query.createTime"
|
v-model="query.createTime"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
|
|||||||
Reference in New Issue
Block a user