rev:出入库报表相关修改

This commit is contained in:
2023-09-19 08:43:19 +08:00
parent 4394288ff5
commit 40f7c722de
26 changed files with 385 additions and 109 deletions

View File

@@ -74,6 +74,14 @@ public class SectattrController {
return new ResponseEntity<>(sectattrService.getSect(whereJson), HttpStatus.OK);
}
@PostMapping("/getStorSect")
@Log("查询指定仓库库区")
@ApiOperation("查询指定仓库库区")
//@PreAuthorize("@el.check('materialtype:list')")
public ResponseEntity<Object> getStorSect(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(sectattrService.getStorSect(whereJson), HttpStatus.OK);
}
@PutMapping("/changeActive")
@Log("修改库区状态")
@ApiOperation("修改库区状态")

View File

@@ -65,6 +65,8 @@ public interface SectattrService {
JSONObject getSect(Map whereJson);
JSONObject getStorSect(JSONObject whereJson);
/**
* 改变启用状态
* @param json

View File

@@ -1,4 +1,3 @@
package org.nl.wms.basedata.st.service.impl;
@@ -55,7 +54,7 @@ public class SectattrServiceImpl implements SectattrService {
UserStorServiceImpl userStorService = new UserStorServiceImpl();
String in_stor_id = userStorService.getInStor();
if (ObjectUtil.isNotEmpty(in_stor_id)) map.put("in_stor_id",in_stor_id);
if (ObjectUtil.isNotEmpty(in_stor_id)) map.put("in_stor_id", in_stor_id);
JSONObject jo = WQL.getWO("QST_SECT_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
return jo;
@@ -227,13 +226,29 @@ public class SectattrServiceImpl implements SectattrService {
return jo;
}
@Override
public JSONObject getStorSect(JSONObject whereJson) {
JSONArray rows = WQLObject.getWQLObject("st_ivt_sectattr").query("stor_id = '1582991156504039424' AND sect_type_attr = '09'").getResultJSONArray(0);
JSONArray ja = new JSONArray();
for (int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
JSONObject jo = new JSONObject();
jo.put("value", row.getString("sect_id"));
jo.put("text", row.getString("sect_name"));
ja.add(jo);
}
JSONObject result = new JSONObject();
result.put("data", ja);
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void changeActive(JSONObject json) {
String stor_id = json.getString("stor_id");
JSONObject st_ivt_bsRealStorAttr = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query(" stor_id = '" + stor_id + "' and is_used = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(st_ivt_bsRealStorAttr)){
if (ObjectUtil.isEmpty(st_ivt_bsRealStorAttr)) {
throw new BadRequestException("该库区所属的仓库已禁用,请先启用该仓库!");
}
@@ -253,11 +268,11 @@ public class SectattrServiceImpl implements SectattrService {
String sect_id = json.getString("sect_id");
json = new JSONObject();
json.put("sect_id",sect_id);
json.put("sect_id", sect_id);
json.put("is_used", is_used);
json.put("update_optid", currentUserId);
json.put("update_optname", nickName);
json.put("update_time", now);
WQLObject.getWQLObject("st_ivt_structattr").update(json," sect_id = '" + sect_id + "'");
WQLObject.getWQLObject("st_ivt_structattr").update(json, " sect_id = '" + sect_id + "'");
}
}

View File

@@ -281,6 +281,9 @@ public class StructivtServiceImpl implements StructivtService {
mp.put("是否需要拆包重打子卷标签", json.getString("isunpackbox"));
mp.put("客户要求规格幅宽", json.getString("width_standard"));
mp.put("物料标准厚度", json.getString("thickness_request"));
mp.put("管件类型", json.getString("paper_type"));
mp.put("管件编码", json.getString("paper_code"));
mp.put("管件描述", json.getString("paper_name"));
list.add(mp);
}
FileUtil.downloadExcel(list, response);

View File

@@ -69,6 +69,9 @@
sub.sap_pcsn,
sub.package_box_sn,
sub.sale_order_name,
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
sub.box_weight
FROM
ST_IVT_StructIvt ivt
@@ -78,6 +81,20 @@
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND attr.storagevehicle_code = sub.package_box_sn
LEFT JOIN (SELECT
container_name,
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
MAX(paper_tube_material) AS paper_tube_material,
MAX(paper_tube_description) AS paper_tube_description,
MAX(paper_tube_model) AS paper_tube_model,
MAX(FRP_material) AS FRP_material,
MAX(FRP_description) AS FRP_description,
MAX(FRP_model) AS FRP_model
FROM
pdm_bi_slittingproductionplan plan1
WHERE
plan1.is_delete = '0'
GROUP BY container_name) plan ON plan.container_name = sub.container_name
WHERE
1 = 1
@@ -197,16 +214,33 @@
sub.isUnPackBox,
sub.isRePrintPackageBoxLabel,
sub.width_standard,
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
sub.thickness_request,
sub.box_weight
FROM
ST_IVT_StructIvt ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id =attr.sect_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND attr.storagevehicle_code = sub.package_box_sn
ST_IVT_StructIvt ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id =attr.sect_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND attr.storagevehicle_code = sub.package_box_sn
LEFT JOIN (SELECT
container_name,
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
MAX(paper_tube_material) AS paper_tube_material,
MAX(paper_tube_description) AS paper_tube_description,
MAX(paper_tube_model) AS paper_tube_model,
MAX(FRP_material) AS FRP_material,
MAX(FRP_description) AS FRP_description,
MAX(FRP_model) AS FRP_model
FROM
pdm_bi_slittingproductionplan plan1
WHERE
plan1.is_delete = '0'
GROUP BY container_name) plan ON plan.container_name = sub.container_name
WHERE
1 = 1
and attr.stor_id in 输入.in_stor_id

View File

@@ -372,7 +372,7 @@ public class SapToLmsServiceImpl implements SapToLmsService {
//创建退货入库单
jsonMst.put("bill_type", "0002");
jsonMst.put("biz_date", DateUtil.now());
jsonMst.put("bill_status", "30");
jsonMst.put("bill_status", "10");
rawAssistIStorService.insertDtl(jsonMst);
}
}

View File

@@ -231,8 +231,10 @@ public class ProductInstorServiceImpl implements ProductInstorService {
String task_id = IdUtil.getSnowflake(1, 1).nextId() + "";
//直接分配虚拟区货位,并确认
JSONObject struct = WQL.getWO("PDA_ST_01").addParam("flag", "3").addParam("stor_id", stor.getString("stor_id")).process().uniqueResult(0);
JSONObject struct = WQL.getWO("PDA_ST_01").addParam("flag", "3").addParam("stor_id", stor.getString("stor_id")).addParam("sect_id", whereJson.getString("sect_id")).process().uniqueResult(0);
if (ObjectUtil.isEmpty(struct)){
throw new BadRequestException("当前没有可用的空仓位进行入库!");
}
HashMap<String, String> dis_map = new HashMap();
dis_map.put("sect_id", struct.getString("sect_id"));
dis_map.put("sect_code", struct.getString("sect_code"));

View File

@@ -17,6 +17,7 @@
输入.box_no TYPEAS s_string
输入.point_code TYPEAS s_string
输入.stor_id TYPEAS s_string
输入.sect_id TYPEAS s_string
[临时表]
@@ -117,6 +118,7 @@
se.sect_type_attr = '09'
AND sa.lock_type = '1'
AND sa.stor_id = 输入.stor_id
AND sa.sect_id = 输入.sect_id
AND sa.is_delete = '0'
AND IFNULL( storagevehicle_code, '' ) = ''
ORDER BY

View File

@@ -87,6 +87,9 @@ public class InbillServiceImpl {
public void confirmDis(JSONObject form) {
WQLObject dis_table = WQLObject.getWQLObject("ST_IVT_IOStorInvDis");
WQLObject dtl_table = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl");
WQLObject mst_table = WQLObject.getWQLObject("st_ivt_iostorinv");
WQLObject sub_table = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
WQLObject sub_record = WQLObject.getWQLObject("pdm_bi_subpackagerelationrecord");
String task_id = form.getString("task_id");
if (StrUtil.isEmpty(task_id)) {
@@ -101,6 +104,17 @@ public class InbillServiceImpl {
dis_row.put("real_qty", dis_row.getString("plan_qty"));
dis_table.update(dis_row);
String pcsn = dis_row.getString("pcsn");
JSONObject sub_jo = sub_table.query("container_name = '"+pcsn+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(sub_jo)){
throw new BadRequestException("未查询到子卷号为:"+pcsn+"对应的包装关系!");
}
JSONObject mst_jo = mst_table.query("iostorinv_id = '" + dis_row.getString("iostorinv_id") + "'").uniqueResult(0);
sub_jo.put("io_code",mst_jo.getString("bill_code"));
sub_jo.put("insert_time",DateUtil.now());
sub_jo.put("record_id",IdUtil.getSnowflake(1, 1));
sub_record.insert(sub_jo);
//回写明细表实际数量
JSONObject dtl_row = dtl_table.query("iostorinvdtl_id = '" + dis_row.getString("iostorinvdtl_id") + "'").uniqueResult(0);
double real_qty = NumberUtil.add(dtl_row.getDoubleValue("real_qty"), dis_row.getDoubleValue("real_qty"));

View File

@@ -183,6 +183,9 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
row.put("iostorinv_id", iostorinv_id);
row.put("seq_no", (i + 1) + "");
JSONObject material = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + row.get("product_name") + "'").uniqueResult(0);
if(ObjectUtil.isEmpty(material)){
throw new BadRequestException("LMS系统不存在物料"+row.get("product_name")+"】,请确认物料是否正确或SAP系统是否推送到LMS系统");
}
row.put("material_id", material.getString("material_id"));
row.put("pcsn", row.get("container_name"));
row.put("bill_status", "10");
@@ -353,6 +356,9 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
row.put("iostorinv_id", iostorinv_id);
row.put("seq_no", (i + 1) + "");
JSONObject material = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + row.get("product_name") + "'").uniqueResult(0);
if(ObjectUtil.isEmpty(material)){
throw new BadRequestException("LMS系统不存在物料"+row.get("product_name")+"】,请确认物料是否正确或SAP系统是否推送到LMS系统");
}
row.put("material_id", material.getString("material_id"));
row.put("pcsn", row.get("container_name"));
row.put("bill_status", "10");

View File

@@ -144,6 +144,18 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
if (StrUtil.isNotEmpty(map.get("package_box_sn"))) {
map.put("package_box_sn", "%" + map.get("package_box_sn") + "%");
}
if (StrUtil.isNotEmpty(map.get("width_standard"))) {
map.put("width_standard", map.get("width_standard"));
}
if (StrUtil.isNotEmpty(map.get("thickness_request"))) {
map.put("thickness_request", map.get("thickness_request"));
}
if (StrUtil.isNotEmpty(map.get("customer_name"))) {
map.put("customer_name", map.get("customer_name"));
}
if (StrUtil.isNotEmpty(map.get("struct_code"))) {
map.put("struct_code", "%" + map.get("struct_code") + "%");
}
JSONObject jo = WQL.getWO("QST_IVT_CHECKOUTBILL").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ivt.struct_code ASC");
return jo;
}

View File

@@ -16,7 +16,7 @@
输入.flag TYPEAS s_string
输入.bill_status TYPEAS s_string
输入.bill_code TYPEAS s_string
输入.source_bill_code TYPEAS f_string
输入.source_bill_code TYPEAS f_string
输入.username TYPEAS s_string
输入.create_mode TYPEAS s_string
输入.bill_type TYPEAS s_string
@@ -27,31 +27,35 @@
输入.end_time TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.material_id TYPEAS s_string
输入.material_code TYPEAS s_string
输入.quality_scode TYPEAS s_string
输入.pcsn TYPEAS s_string
输入.material_code TYPEAS s_string
输入.quality_scode TYPEAS s_string
输入.pcsn TYPEAS s_string
输入.ivt_level TYPEAS s_string
输入.is_active TYPEAS s_string
输入.sect_id TYPEAS s_string
输入.io_type TYPEAS s_string
输入.iostorinvdtl_id TYPEAS s_string
输入.unassign_flag TYPEAS s_string
输入.sect_id TYPEAS s_string
输入.io_type TYPEAS s_string
输入.iostorinvdtl_id TYPEAS s_string
输入.unassign_flag TYPEAS s_string
输入.struct_id TYPEAS s_string
输入.iostorinvdis_id TYPEAS s_string
输入.iostorinvdis_id TYPEAS s_string
输入.is_issued TYPEAS s_string
输入.remark TYPEAS s_string
输入.task_id TYPEAS s_string
输入.remark TYPEAS s_string
输入.task_id TYPEAS s_string
输入.task_status TYPEAS s_string
输入.deptIds TYPEAS f_string
输入.sale_order_name TYPEAS s_string
输入.box_no TYPEAS s_string
输入.canuse_qty TYPEAS s_string
输入.sap_pcsn TYPEAS s_string
输入.cust_code TYPEAS s_string
输入.package_box_sn TYPEAS s_string
输入.is_upload TYPEAS s_string
输入.deptIds TYPEAS f_string
输入.sale_order_name TYPEAS s_string
输入.box_no TYPEAS s_string
输入.canuse_qty TYPEAS s_string
输入.sap_pcsn TYPEAS s_string
输入.cust_code TYPEAS s_string
输入.package_box_sn TYPEAS s_string
输入.is_upload TYPEAS s_string
输入.width TYPEAS s_string
输入.in_stor_id TYPEAS f_string
输入.struct_code TYPEAS s_string
输入.customer_name TYPEAS s_string
输入.thickness_request TYPEAS s_string
输入.width_standard TYPEAS s_string
输入.in_stor_id TYPEAS f_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -665,6 +669,22 @@
ivt.canuse_qty > 输入.canuse_qty
ENDOPTION
OPTION 输入.width_standard <> ""
sub.width_standard = 输入.width_standard
ENDOPTION
OPTION 输入.thickness_request <> ""
sub.thickness_request = 输入.thickness_request
ENDOPTION
OPTION 输入.customer_name <> ""
sub.customer_name = 输入.customer_name
ENDOPTION
OPTION 输入.struct_code <> ""
attr.struct_code like 输入.struct_code
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF

View File

@@ -284,6 +284,33 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
// 改切出库回传mes
if (StrUtil.equals(bill_type, "1003")) {
JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "2").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0);
for (int j = 0; j < disArr.size(); j++) {
JSONObject param = new JSONObject();
JSONArray details = new JSONArray();
JSONObject json = disArr.getJSONObject(j);
param.put("PackageBoxSN", json.getString("box_no"));
param.put("Attribute1", "ReCut");
JSONArray container_jo = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "' AND box_no = '" + json.getString("box_no") + "'").getResultJSONArray(0);
for (int k = 0; k < container_jo.size(); k++) {
JSONObject dis_jo = container_jo.getJSONObject(k);
JSONObject jsonParamDtl = new JSONObject();
jsonParamDtl.put("ContainerName", dis_jo.getString("pcsn"));
details.add(jsonParamDtl);
}
param.put("Details", details);
new LmsToMesServiceImpl().lmsUnPackage(param);
}
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
/*// 改切出库
if (StrUtil.equals(bill_type, "1003")) {
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
@@ -583,7 +610,17 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
paramSapMstArr.add(paramDis);
}
param.put("ITEM", paramSapMstArr);
System.out.println(param.toString());
//查询该调拨入库单对应的出库单
JSONObject out_mst = wo_mst.query("source_id = '"+jo_mst.getString("source_id")+"' AND io_type = '1' AND is_delete = '0'").uniqueResult(0);
param.put("ZACTION", "P");
param.put("BUDAT", out_mst.getString("biz_date"));
param.put("ZZYGYF", out_mst.getString("estimated_freight"));
param.put("ZZYZFY", out_mst.getString("run_freight"));
param.put("ZZXCFY", out_mst.getString("unload_freight"));
param.put("ZZQTFY", out_mst.getString("other_freight"));
param.put("ZZYFGY", out_mst.getString("trans_code"));
param.put("ZZYDH", out_mst.getString("order_number"));
param.put("ZZCX", out_mst.getString("car_type"));
// 调用接口回传
new LmsToSapServiceImpl().returnOutDtl(param);
@@ -783,7 +820,6 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
}
@Override
@Transactional
public void upload(JSONObject whereJson) {
//出库分配表
WQLObject wo_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis");
@@ -933,6 +969,18 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
param.put("ITEM", paramSapMstArr);
System.out.println(param.toString());
//查询该调拨入库单对应的出库单
JSONObject out_mst = wo_mst.query("source_id = '"+jo_mst.getString("source_id")+"' AND io_type = '1' AND is_delete = '0'").uniqueResult(0);
param.put("ZACTION", "P");
param.put("BUDAT", out_mst.getString("biz_date"));
param.put("ZZYGYF", out_mst.getString("estimated_freight"));
param.put("ZZYZFY", out_mst.getString("run_freight"));
param.put("ZZXCFY", out_mst.getString("unload_freight"));
param.put("ZZQTFY", out_mst.getString("other_freight"));
param.put("ZZYFGY", out_mst.getString("trans_code"));
param.put("ZZYDH", out_mst.getString("order_number"));
param.put("ZZCX", out_mst.getString("car_type"));
// 调用接口回传
new LmsToSapServiceImpl().returnOutDtl(param);

View File

@@ -36,8 +36,8 @@ public class OutBillQueryController {
@GetMapping
@Log("查询")
@ApiOperation("查询")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(outBillQueryService.queryAll(whereJson, page), HttpStatus.OK);
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page, String[] bill_types) {
return new ResponseEntity<>(outBillQueryService.queryAll(whereJson, page, bill_types), HttpStatus.OK);
}
@PostMapping

View File

@@ -24,7 +24,7 @@ public interface OutBillQueryService {
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryAll(Map whereJson, Pageable page);
Map<String, Object> queryAll(Map whereJson, Pageable page, String[] bill_types);
/**
* 查询所有数据不分页

View File

@@ -228,6 +228,9 @@ public class InBillQueryServiceImpl implements InBillQueryService {
mp.put("居中度mm", "±1");
mp.put("塌边mm", "≤10");
mp.put("米数(长度)", NumberUtil.round(StrUtil.isEmpty(json.getString("length")) ? "0" : json.getString("length"), 1));
mp.put("管件类型", json.getString("paper_type"));
mp.put("管件编码", json.getString("paper_code"));
mp.put("管件描述", json.getString("paper_name"));
mp.put("生产实际抗拉值", json.getString("actual_value"));
mp.put("内控标准抗拉下限", json.getString("standard_limit"));
mp.put("客户需求抗拉下限", json.getString("demand_limit"));

View File

@@ -3,6 +3,7 @@ package org.nl.wms.stat.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -21,10 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author Liuxy
@@ -38,9 +36,9 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
public Map<String, Object> queryAll(Map whereJson, Pageable page, String[] bill_types) {
String stor_id = MapUtil.getStr(whereJson, "stor_id");
String bill_type = MapUtil.getStr(whereJson, "bill_type");
String with = MapUtil.getStr(whereJson, "with"); // 厚度*幅宽
String begin_time = MapUtil.getStr(whereJson, "begin_time");
String end_time = MapUtil.getStr(whereJson, "end_time");
@@ -49,7 +47,13 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
JSONObject map = new JSONObject();
map.put("flag", "1");
map.put("stor_id",stor_id);
map.put("bill_type",bill_type);
if (ObjectUtil.isNotEmpty(bill_types)){
StringJoiner joiner = new StringJoiner(",","(",")");
for (String type : bill_types){
joiner.add("'"+type+"'");
}
map.put("bill_type",joiner.toString());
}
map.put("with",with);
map.put("begin_time",begin_time);
map.put("end_time",end_time);

View File

@@ -72,6 +72,9 @@
sub.date_of_production,
mst.input_optname,
sub.width,
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
sub.thickness,
sub.box_weight,
sub.length,
@@ -117,7 +120,22 @@
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no
LEFT JOIN pdm_bi_slittingproductionplan plan ON plan.container_name = sub.container_name
LEFT JOIN (SELECT
container_name,
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
MAX(paper_tube_material) AS paper_tube_material,
MAX(paper_tube_description) AS paper_tube_description,
MAX(paper_tube_model) AS paper_tube_model,
MAX(FRP_material) AS FRP_material,
MAX(parent_container_name) AS parent_container_name,
MAX(restruct_container_name) AS restruct_container_name,
MAX(FRP_description) AS FRP_description,
MAX(FRP_model) AS FRP_model
FROM
pdm_bi_slittingproductionplan plan1
WHERE
plan1.is_delete = '0'
GROUP BY container_name) plan ON plan.container_name = sub.container_name
LEFT JOIN md_me_materialbase mb ON mb.material_code = sub.box_type
WHERE
mst.io_type = '0'
@@ -309,6 +327,9 @@
sub.date_of_production,
mst.input_optname,
sub.width,
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
sub.thickness,
sub.box_weight,
sub.length,
@@ -354,7 +375,22 @@
LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = dis.sect_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no
LEFT JOIN pdm_bi_slittingproductionplan plan ON plan.container_name = sub.container_name
LEFT JOIN (SELECT
container_name,
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
MAX(paper_tube_material) AS paper_tube_material,
MAX(paper_tube_description) AS paper_tube_description,
MAX(paper_tube_model) AS paper_tube_model,
MAX(FRP_material) AS FRP_material,
MAX(parent_container_name) AS parent_container_name,
MAX(restruct_container_name) AS restruct_container_name,
MAX(FRP_description) AS FRP_description,
MAX(FRP_model) AS FRP_model
FROM
pdm_bi_slittingproductionplan plan1
WHERE
plan1.is_delete = '0'
GROUP BY container_name) plan ON plan.container_name = sub.container_name
LEFT JOIN md_me_materialbase mb ON mb.material_code = sub.box_type
WHERE
mst.io_type = '0'

View File

@@ -15,7 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.stor_id TYPEAS s_string
输入.bill_type TYPEAS s_string
输入.bill_type TYPEAS f_string
输入.with TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
@@ -68,6 +68,9 @@
sub.thickness,
sub.mass_per_unit_area,
mst.input_optname,
case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code,
case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name,
mst.remark,
stor.stor_name AS in_stor_name
FROM
@@ -78,6 +81,20 @@
LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = mst.out_stor_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no
LEFT JOIN (SELECT
container_name,
MAX(paper_tube_or_FRP) AS paper_tube_or_FRP,
MAX(paper_tube_material) AS paper_tube_material,
MAX(paper_tube_description) AS paper_tube_description,
MAX(paper_tube_model) AS paper_tube_model,
MAX(FRP_material) AS FRP_material,
MAX(FRP_description) AS FRP_description,
MAX(FRP_model) AS FRP_model
FROM
pdm_bi_slittingproductionplan plan1
WHERE
plan1.is_delete = '0'
GROUP BY container_name) plan ON plan.container_name = sub.container_name
WHERE
mst.io_type = '1'
AND mst.is_delete = '0'
@@ -88,7 +105,7 @@
ENDOPTION
OPTION 输入.bill_type <> ""
mst.bill_type = 输入.bill_type
mst.bill_type IN 输入.bill_type
ENDOPTION
OPTION 输入.begin_time <> ""