rev:合同台账功能优化
This commit is contained in:
@@ -194,6 +194,21 @@
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "9"
|
||||
QUERY
|
||||
SELECT
|
||||
pp.*
|
||||
FROM
|
||||
purchase_contract_view pp
|
||||
WHERE
|
||||
1=1
|
||||
OPTION 输入.no_ids <> ""
|
||||
pp.vbillcode in 输入.no_ids
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -186,8 +186,8 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc
|
||||
orderTab.update(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> ledgerQuery(Map whereJson, Pageable page) {
|
||||
|
||||
public Map<String, Object> ledgerQuery2(Map whereJson, Pageable page) {
|
||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "11");
|
||||
@@ -257,9 +257,101 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> receiveQuery(Map whereJson, Pageable page) {
|
||||
public Map<String, Object> ledgerQuery(Map whereJson, Pageable page) {
|
||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "11");
|
||||
map.put("begin_time", MapUtil.getStr(whereJson, "begin_time"));
|
||||
map.put("end_time", MapUtil.getStr(whereJson, "end_time"));
|
||||
if (!ObjectUtil.isEmpty(material_code)) {
|
||||
//处理转义字符
|
||||
if (material_code.contains("\\")) {
|
||||
material_code = material_code.replace("\\", "\\\\\\");
|
||||
}
|
||||
map.put("material_code", "%" + material_code + "%");
|
||||
}
|
||||
String vbillcode = MapUtil.getStr(whereJson, "vbillcode");
|
||||
JSONObject json = WQL.getWO("QPCS_IF_PURCHASEORDERPROC02").addParam("vbillcode", vbillcode).addParam("flag", "2").pageQuery(WqlUtil.getHttpContext(page), "mst.receive_date desc");
|
||||
String proc_status = MapUtil.getStr(whereJson, "proc_status");
|
||||
String contract_no = MapUtil.getStr(whereJson, "contract_no");
|
||||
String supp_name = MapUtil.getStr(whereJson, "supp_name");
|
||||
String iszero = MapUtil.getStr(whereJson, "iszero");
|
||||
if (!ObjectUtil.isEmpty(vbillcode)) {
|
||||
map.put("vbillcode", "%" + vbillcode + "%");
|
||||
}
|
||||
if (!ObjectUtil.isEmpty(proc_status)) {
|
||||
map.put("proc_status", proc_status);
|
||||
}
|
||||
if (!ObjectUtil.isEmpty(contract_no)) {
|
||||
map.put("contract_no", "%" + contract_no + "%");
|
||||
}
|
||||
if (!ObjectUtil.isEmpty(supp_name)) {
|
||||
map.put("supp_name", "%" + supp_name + "%");
|
||||
}
|
||||
|
||||
String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.ZLFL.getClass_idStr());
|
||||
map.put("classIds",classIds);
|
||||
|
||||
List<JSONObject> content = WQL.getWO("QPCS_IF_PURCHASEORDERPROC02")
|
||||
.addParamMap(map).process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
|
||||
String no_ids = content.stream()
|
||||
.filter(row -> ObjectUtil.isNotEmpty(row.getString("contract_no")))
|
||||
.map(row -> row.getString("contract_no"))
|
||||
.collect(Collectors.joining("','"));
|
||||
|
||||
// 查询erp视图 QTY_HT 重量 ,QTY_ZT 未到货重量,NORIGTAXMNY 合同金额
|
||||
List<JSONObject> ja = WQL.getWO("QERP").setDbname("dataSource1").addParam("flag", "8").addParam("no_ids", "('"+no_ids+"')").process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
for (int i = 0; i < content.size(); i++) {
|
||||
JSONObject jsonObject = content.get(i);
|
||||
|
||||
Optional<JSONObject> first = ja.stream()
|
||||
.filter(row -> row.getString("vbillcode").equals(jsonObject.getString("contract_no"))
|
||||
&& row.getString("item_code").equals(jsonObject.getString("material_code"))).findAny();
|
||||
jsonObject.put("subscribedate",first.isPresent() ? first.get().get("subscribedate"): "");
|
||||
// 合同重量
|
||||
jsonObject.put("qty_ht",first.isPresent() ? first.get().get("qty_ht"): 0);
|
||||
// 合同未到货重量
|
||||
jsonObject.put("qty_zt",first.isPresent() ? first.get().get("qty_zt"): 0);
|
||||
// 合同金额
|
||||
jsonObject.put("norigtaxmny",first.isPresent() ? first.get().get("norigtaxmny"): 0);
|
||||
}
|
||||
|
||||
// 判断是否有'合同未到货重量'的条件
|
||||
if (ObjectUtil.isNotEmpty(iszero)) {
|
||||
boolean is_zero = "true".equals(iszero);
|
||||
if (is_zero) {
|
||||
// 过滤掉不为零的数据
|
||||
content = content.stream()
|
||||
.filter(row -> row.getDoubleValue("qty_zt") == 0)
|
||||
.collect(Collectors.toList());
|
||||
} else {
|
||||
// 过滤掉为零的数据
|
||||
content = content.stream()
|
||||
.filter(row -> row.getDoubleValue("qty_zt") != 0)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
// 根据签订时间排序(倒序)
|
||||
content = content.stream()
|
||||
.sorted(Comparator.comparing(row -> row.getString("subscribedate"),Comparator.reverseOrder()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 组织分页查询并返回
|
||||
Map<String, Object> json = PageUtil.toPage(
|
||||
PageUtil.toPage(page.getPageNumber(), page.getPageSize(), content),
|
||||
content.size()
|
||||
);
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> receiveQuery(Map whereJson, Pageable page) {
|
||||
String id = MapUtil.getStr(whereJson, "id");
|
||||
JSONObject json = WQL.getWO("QPCS_IF_PURCHASEORDERPROC02").addParam("source_billdtl_id", id).addParam("flag", "2").pageQuery(WqlUtil.getHttpContext(page), "mst.receive_date desc");
|
||||
return json;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
输入.proc_status TYPEAS s_string
|
||||
输入.contract_no TYPEAS s_string
|
||||
输入.supp_name TYPEAS s_string
|
||||
输入.source_billdtl_id TYPEAS s_string
|
||||
输入.classIds TYPEAS f_string
|
||||
输入.vbillcodes TYPEAS f_string
|
||||
输入.iszero TYPEAS f_string
|
||||
@@ -153,7 +154,7 @@
|
||||
oder.remark
|
||||
FROM
|
||||
PCS_IF_PurchaseOrderProc oder
|
||||
LEFT JOIN PCS_RC_ReceiveDtl dtl ON dtl.source_billdtl_id = oder.id AND dtl.source_bill_code = oder.vbillcode
|
||||
LEFT JOIN PCS_RC_ReceiveDtl dtl ON dtl.source_billdtl_id = oder.id
|
||||
LEFT JOIN md_cs_supplierbase supp ON oder.VEND_ID = supp.ext_id
|
||||
LEFT JOIN md_me_materialbase mater ON oder.ITEM_ID = mater.ext_id
|
||||
LEFT JOIN (
|
||||
@@ -165,7 +166,7 @@
|
||||
max( a.receive_id ) AS receive_id
|
||||
FROM
|
||||
PCS_RC_ReceiveDtl a
|
||||
LEFT JOIN PCS_IF_PurchaseOrderProc p ON a.source_billdtl_id = p.id AND a.source_bill_code = p.vbillcode
|
||||
LEFT JOIN PCS_IF_PurchaseOrderProc p ON a.source_billdtl_id = p.id
|
||||
GROUP BY
|
||||
a.source_billdtl_id
|
||||
)
|
||||
@@ -217,19 +218,11 @@
|
||||
IF 输入.flag = "2"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
oder.contract_no,
|
||||
dtl.receive_code,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
dtl.pcsn,
|
||||
dtl.receive_qty,
|
||||
dtl.instor_qty,
|
||||
dtl.qty_unit_name,
|
||||
dtl.status,
|
||||
mst.input_optname,
|
||||
oder.honor_time,
|
||||
supp.honour_days,
|
||||
mst.receive_date
|
||||
mst.receive_code,
|
||||
LEFT(mst.input_time,10) as input_time,
|
||||
dtl.receive_qty,
|
||||
dtl.receive_qty * oder.PRICE_TAX AS valmoney,
|
||||
DATE_ADD(LEFT(mst.input_time,10),INTERVAL supp.honour_days DAY) AS plan_date
|
||||
FROM
|
||||
PCS_RC_ReceiveDtl dtl
|
||||
LEFT JOIN PCS_IF_PurchaseOrderProc oder ON oder.id = dtl.source_billdtl_id
|
||||
@@ -237,7 +230,7 @@
|
||||
LEFT JOIN PCS_RC_ReceiveMst mst ON dtl.receive_id = mst.receive_id
|
||||
LEFT JOIN md_cs_supplierbase supp ON oder.VEND_ID = supp.ext_id
|
||||
WHERE
|
||||
oder.vbillcode = 输入.vbillcode
|
||||
dtl.source_billdtl_id = 输入.source_billdtl_id
|
||||
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="到货通知单"
|
||||
title="到货情况"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
destroy-on-close
|
||||
@@ -19,20 +19,11 @@
|
||||
style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column show-overflow-tooltip prop="vbillcode" label="订单编号" min-width="150"/>
|
||||
<el-table-column show-overflow-tooltip prop="receive_code" label="到货单号" min-width="130"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编号" min-width="130"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" min-width="130"/>
|
||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" />
|
||||
<el-table-column show-overflow-tooltip prop="receive_qty" label="到货重量" :formatter="crud.formatNum3"/>
|
||||
<el-table-column show-overflow-tooltip prop="instor_qty" label="入库重量" :formatter="crud.formatNum3"/>
|
||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" />
|
||||
<el-table-column show-overflow-tooltip prop="status" label="状态" :formatter="formatStatusName"/>
|
||||
<el-table-column show-overflow-tooltip prop="input_optname" label="创建人" />
|
||||
<el-table-column show-overflow-tooltip prop="honor_time" label="合同要求履约时间" width="150px" />
|
||||
<el-table-column show-overflow-tooltip prop="honour_days" label="资金计划履约天数" width="150px"/>
|
||||
<el-table-column show-overflow-tooltip prop="receive_date" label="到货日期" min-width="100"/>
|
||||
<el-table-column show-overflow-tooltip prop="" label="资金计划履约时间" width="150px"/>
|
||||
<el-table-column prop="receive_code" label="到货通知单" width="120px" show-overflow-tooltip/>
|
||||
<el-table-column prop="input_time" label="到货时间" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="receive_qty" label="到货重量" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="valmoney" label="到货金额" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="plan_date" label="资金计划" width="150px" show-overflow-tooltip />
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
@@ -73,7 +64,7 @@ export default {
|
||||
default: false
|
||||
},
|
||||
openParam: {
|
||||
type: Object
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -86,7 +77,6 @@ export default {
|
||||
dialogShow: {
|
||||
handler(newValue, oldValue) {
|
||||
this.dialogVisible = newValue
|
||||
this.crud.query.vbillcode = this.openParam
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -108,6 +98,7 @@ export default {
|
||||
this.$emit('update:dialogShow', false)
|
||||
},
|
||||
open() {
|
||||
this.crud.query.id = this.openParam
|
||||
this.crud.toQuery()
|
||||
},
|
||||
formatStatusName(row, column) {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
label-position="right"
|
||||
label-width="80px"
|
||||
label-width="120px"
|
||||
label-suffix=":"
|
||||
>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="采购未到货重量">
|
||||
<el-form-item label="合同未到货重量">
|
||||
<div>
|
||||
<el-radio-group v-model="query.iszero" @change="crud.toQuery">
|
||||
<el-radio-button label="true">为0</el-radio-button>
|
||||
@@ -121,12 +121,18 @@
|
||||
<el-table-column prop="all_valmoney" label="合计金额" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
</el-table-column>
|
||||
<el-table-column label="到货情况" align="center">
|
||||
<el-table-column prop="receive_code" label="到货通知单" width="120px" show-overflow-tooltip/>
|
||||
<!-- <el-table-column prop="receive_code" label="到货通知单" width="120px" show-overflow-tooltip/>
|
||||
<el-table-column prop="input_time" label="到货时间" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="receive_qty" label="到货重量" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="notqty" label="未到货重量" width="150px" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="valmoney" label="到货金额" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="plan_date" label="资金计划" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="plan_date" label="资金计划" width="150px" show-overflow-tooltip />-->
|
||||
|
||||
<el-table-column show-overflow-tooltip prop="bill_code" width="150" label="点击查看到货情况">
|
||||
<template slot-scope="scope">
|
||||
<el-link type="warning" @click="openReceive(scope.$index, scope.row)">到货情况</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center">
|
||||
<el-table-column prop="remark" label="内容" width="200px" show-overflow-tooltip />
|
||||
@@ -213,8 +219,8 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
openReceive(row) {
|
||||
this.openParam = row.vbillcode
|
||||
openReceive(index, row) {
|
||||
this.openParam = row.id
|
||||
this.receiveDialog = true
|
||||
},
|
||||
openRemarkDaing(row) {
|
||||
|
||||
Reference in New Issue
Block a user