rev:合同台账功能优化
This commit is contained in:
@@ -194,6 +194,21 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
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);
|
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");
|
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map.put("flag", "11");
|
map.put("flag", "11");
|
||||||
@@ -257,9 +257,101 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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");
|
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;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
输入.proc_status TYPEAS s_string
|
输入.proc_status TYPEAS s_string
|
||||||
输入.contract_no TYPEAS s_string
|
输入.contract_no TYPEAS s_string
|
||||||
输入.supp_name TYPEAS s_string
|
输入.supp_name TYPEAS s_string
|
||||||
|
输入.source_billdtl_id TYPEAS s_string
|
||||||
输入.classIds TYPEAS f_string
|
输入.classIds TYPEAS f_string
|
||||||
输入.vbillcodes TYPEAS f_string
|
输入.vbillcodes TYPEAS f_string
|
||||||
输入.iszero TYPEAS f_string
|
输入.iszero TYPEAS f_string
|
||||||
@@ -153,7 +154,7 @@
|
|||||||
oder.remark
|
oder.remark
|
||||||
FROM
|
FROM
|
||||||
PCS_IF_PurchaseOrderProc oder
|
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_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 md_me_materialbase mater ON oder.ITEM_ID = mater.ext_id
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
@@ -165,7 +166,7 @@
|
|||||||
max( a.receive_id ) AS receive_id
|
max( a.receive_id ) AS receive_id
|
||||||
FROM
|
FROM
|
||||||
PCS_RC_ReceiveDtl a
|
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
|
GROUP BY
|
||||||
a.source_billdtl_id
|
a.source_billdtl_id
|
||||||
)
|
)
|
||||||
@@ -217,19 +218,11 @@
|
|||||||
IF 输入.flag = "2"
|
IF 输入.flag = "2"
|
||||||
PAGEQUERY
|
PAGEQUERY
|
||||||
SELECT
|
SELECT
|
||||||
oder.contract_no,
|
mst.receive_code,
|
||||||
dtl.receive_code,
|
LEFT(mst.input_time,10) as input_time,
|
||||||
mater.material_code,
|
dtl.receive_qty,
|
||||||
mater.material_name,
|
dtl.receive_qty * oder.PRICE_TAX AS valmoney,
|
||||||
dtl.pcsn,
|
DATE_ADD(LEFT(mst.input_time,10),INTERVAL supp.honour_days DAY) AS plan_date
|
||||||
dtl.receive_qty,
|
|
||||||
dtl.instor_qty,
|
|
||||||
dtl.qty_unit_name,
|
|
||||||
dtl.status,
|
|
||||||
mst.input_optname,
|
|
||||||
oder.honor_time,
|
|
||||||
supp.honour_days,
|
|
||||||
mst.receive_date
|
|
||||||
FROM
|
FROM
|
||||||
PCS_RC_ReceiveDtl dtl
|
PCS_RC_ReceiveDtl dtl
|
||||||
LEFT JOIN PCS_IF_PurchaseOrderProc oder ON oder.id = dtl.source_billdtl_id
|
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 PCS_RC_ReceiveMst mst ON dtl.receive_id = mst.receive_id
|
||||||
LEFT JOIN md_cs_supplierbase supp ON oder.VEND_ID = supp.ext_id
|
LEFT JOIN md_cs_supplierbase supp ON oder.VEND_ID = supp.ext_id
|
||||||
WHERE
|
WHERE
|
||||||
oder.vbillcode = 输入.vbillcode
|
dtl.source_billdtl_id = 输入.source_billdtl_id
|
||||||
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="到货通知单"
|
title="到货情况"
|
||||||
append-to-body
|
append-to-body
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -19,20 +19,11 @@
|
|||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column show-overflow-tooltip prop="vbillcode" label="订单编号" min-width="150"/>
|
<el-table-column prop="receive_code" label="到货通知单" width="120px" show-overflow-tooltip/>
|
||||||
<el-table-column show-overflow-tooltip prop="receive_code" label="到货单号" min-width="130"/>
|
<el-table-column prop="input_time" label="到货时间" width="150px" show-overflow-tooltip />
|
||||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编号" min-width="130"/>
|
<el-table-column prop="receive_qty" label="到货重量" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" min-width="130"/>
|
<el-table-column prop="valmoney" label="到货金额" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" />
|
<el-table-column prop="plan_date" label="资金计划" width="150px" show-overflow-tooltip />
|
||||||
<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>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
@@ -73,7 +64,7 @@ export default {
|
|||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
openParam: {
|
openParam: {
|
||||||
type: Object
|
type: String
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -86,7 +77,6 @@ export default {
|
|||||||
dialogShow: {
|
dialogShow: {
|
||||||
handler(newValue, oldValue) {
|
handler(newValue, oldValue) {
|
||||||
this.dialogVisible = newValue
|
this.dialogVisible = newValue
|
||||||
this.crud.query.vbillcode = this.openParam
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -108,6 +98,7 @@ export default {
|
|||||||
this.$emit('update:dialogShow', false)
|
this.$emit('update:dialogShow', false)
|
||||||
},
|
},
|
||||||
open() {
|
open() {
|
||||||
|
this.crud.query.id = this.openParam
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
formatStatusName(row, column) {
|
formatStatusName(row, column) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
:inline="true"
|
:inline="true"
|
||||||
class="demo-form-inline"
|
class="demo-form-inline"
|
||||||
label-position="right"
|
label-position="right"
|
||||||
label-width="80px"
|
label-width="120px"
|
||||||
label-suffix=":"
|
label-suffix=":"
|
||||||
>
|
>
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="采购未到货重量">
|
<el-form-item label="合同未到货重量">
|
||||||
<div>
|
<div>
|
||||||
<el-radio-group v-model="query.iszero" @change="crud.toQuery">
|
<el-radio-group v-model="query.iszero" @change="crud.toQuery">
|
||||||
<el-radio-button label="true">为0</el-radio-button>
|
<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 prop="all_valmoney" label="合计金额" show-overflow-tooltip :formatter="crud.formatNum3" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="到货情况" align="center">
|
<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="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="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="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="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>
|
||||||
<el-table-column label="备注" align="center">
|
<el-table-column label="备注" align="center">
|
||||||
<el-table-column prop="remark" label="内容" width="200px" show-overflow-tooltip />
|
<el-table-column prop="remark" label="内容" width="200px" show-overflow-tooltip />
|
||||||
@@ -213,8 +219,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openReceive(row) {
|
openReceive(index, row) {
|
||||||
this.openParam = row.vbillcode
|
this.openParam = row.id
|
||||||
this.receiveDialog = true
|
this.receiveDialog = true
|
||||||
},
|
},
|
||||||
openRemarkDaing(row) {
|
openRemarkDaing(row) {
|
||||||
|
|||||||
Reference in New Issue
Block a user