From 1750abd11320f8d09ffe1580b7467dba87c86c89 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 10 十二月 2025 14:40:25 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/mm/FinishedGlassShelf.xml | 2
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml | 13 +
north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue | 2
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue | 2
north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java | 2
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue | 1
north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue | 3
north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java | 3
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java | 7
north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java | 13 ++
north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml | 6 +
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 5
north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java | 2
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 81 ++++++++++++++-
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue | 20 ++-
north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java | 7 +
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue | 3
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java | 6
north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue | 5
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java | 73 ++++++++++++--
north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml | 4
north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue | 14 +-
north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java | 3
north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java | 7 +
north-glass-erp/northglass-erp/src/components/sd/order/ProcessAttribute.vue | 1
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java | 9 +
26 files changed, 245 insertions(+), 49 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/ProcessAttribute.vue b/north-glass-erp/northglass-erp/src/components/sd/order/ProcessAttribute.vue
index 5e2fcef..c8402bf 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/ProcessAttribute.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/ProcessAttribute.vue
@@ -14,6 +14,7 @@
v-model="dataList[itme.process_type][itme1.process_type]"
placeholder=""
clearable
+ filterable
style="width: 120px"
>
<el-option
diff --git a/north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue
index 39068ea..fad942c 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue
@@ -348,7 +348,7 @@
const validRules = ref({
"cancelAvailable": [{
validator (e) {
- if (parseInt(e.row.cancelAvailable) > e.row.quantity) {
+ if (parseInt(e.row.cancelAvailable) > e.row.quantityAvailable) {
return new Error(t('ingredientsStock.msg2'))
}
const regex = /^[1-9]\d*$/g
diff --git a/north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue
index 6c23854..f324be1 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue
@@ -367,6 +367,11 @@
{field: 'glass_child', title: t('reportingWorks.glassChild'),width:110,filters: [{data: ''}],slots: {filter: 'num1_filter'}, filterMethod: filterChanged},
{field: 'reporting_work_id', title: t('reportingWorks.reportingWorkId'),width:120,filters: [{data: ''}],slots: {filter: 'num1_filter'}, filterMethod: filterChanged},
{field: 'create_time', title: t('basicData.reportData'),width:120},
+ {
+ field: 'print_num',
+ title: t('processCard.printStatus'),
+ width: 120
+ },
],//琛ㄥご鎸夐挳
toolbarConfig: {
@@ -712,10 +717,9 @@
// 鐩戝惉鎵撳嵃瀹屾垚浜嬩欢
const printNumber = () =>{
-
- selectRecordsData.value.printList=selectRecords
- let printState=0
- request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
+ const $grid = xGrid.value
+ selectRecords = $grid.getCheckboxRecords()
+ request.post(`/Replenish/updatePrintNum`, selectRecords).then((res) => {
if (res.code == 200 && res.data === true) {
} else {
@@ -848,7 +852,7 @@
destroy-on-close
style="width: 75%;height:75% ">
<template #header="{ close, titleId, titleClass }">
- <el-button v-print="printContent" :icon="Printer" circle />
+ <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/>
</template>
<print-process id="child" :printList="printRow.list" :printMerge="printRow.printMergeVal" :printLike="printRow.like"
:mergeTechnologyNumber="printRow.mergeTechnologyNumber"
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
index d1ca37f..78a6330 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/CrossProcessBreaking.vue
@@ -18,6 +18,9 @@
{field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
{field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
{field: 'responsiblePersonnel', width: 120,title: t('rework.responsibilityInformation'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'project', width: 120,title: t('order.project'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
index 35d1b2d..c67cd3a 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -46,6 +46,7 @@
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken')},
{field: 'area', width: 120, title: t('reportingWorks.wornArea')},
{field: 'personnel', width: 120, title: t('reportingWorks.responsiblePersonnel')},
@@ -55,7 +56,7 @@
data:[],//琛ㄦ牸鏁版嵁
url :'/report/damageReport',
exportUrl :'/report/exportDamageReport',
- exportName:t('report.crossProcessBreakdown'),
+ exportName:t('report.secondaryBrokenTotal'),
footList:['breakageQuantity','area']
})
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue b/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
index 976b2b9..7bfd3e8 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/NotCrossProcessBreaking.vue
@@ -18,6 +18,9 @@
{field: 'breakageReason', width: 100,title: t('reportingWorks.breakageReason'), sortable: true,showOverflow:"ellipsis"},
{field: 'breakageQuantity', width: 100,title: t('reportingWorks.quantityBroken'), sortable: true},
{field: 'responsiblePersonnel', width: 120,title: t('rework.responsibilityInformation'), sortable: true,showOverflow:"ellipsis",filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childWidth', width: 100, title: t('order.width'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'childHeight', width: 100, title: t('order.height'), filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'thickness',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90, title: t('order.totalThickness')},
{field: 'area',width: 100, title: t('reportingWorks.wornArea'), sortable: true},
{field: 'creator',width: 120, title: t('product.creator'), sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
{field: 'project', width: 120,title: t('order.project'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -28,7 +31,7 @@
data:[],//琛ㄦ牸鏁版嵁
url :'/report/notCrossProcessBreaking',
exportUrl :'/report/exportNotCrossProcessBreaking',
- exportName:t('report.crossProcessBreakdown'),
+ exportName:t('report.notCrossProcessBreakdown'),
footList:['breakageQuantity','area']
})
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
index 4a134e7..8202ab4 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
@@ -290,6 +290,7 @@
filterMethod: filterChanged},
{field: 'thickness',filters: [{data: ''}],
slots: {filter: 'num1_filter'},
+ filterMethod: filterChanged,
width: 90, title: t('order.totalThickness')},
{field: 'quantity', width: 120, title: t('order.quantity'),filters: [{data: ''}],
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
index ec19396..5e01eef 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -143,6 +143,7 @@
}
request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}/${terminationVals}`, filterData.value).then((res) => {
if (res.code == 200) {
+
total.value = res.data.total
produceList = deepClone(res.data.data)
produceList.forEach(item => {
@@ -180,10 +181,10 @@
request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}/${terminationVals}`, filterData.value).then((res) => {
if (res.code == 200) {
- total.dataTotal = res.data.total.total * 1
- total.pageTotal = res.data.total.pageTotal
- pageTotal.value = res.data.total
- total.value = res.data.total
+ total.value = res.data.total;
+ total.dataTotal = res.data.total.total * 1;
+ total.pageTotal = res.data.total.pageTotal;
+ pageTotal.value = res.data.total;
res.data.data.forEach(item => {
// 濡傛灉 shape 鍙兘鏄瓧绗︿覆灏辩敤 ==锛屽鏋滀竴瀹氭槸鏁板瓧灏辩敤 ===
item.shape = (item.shape == 2) ? t('order.alien') : t('order.universalShape');
@@ -246,10 +247,10 @@
request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}/${terminationVals}`, filterData.value).then((res) => {
if (res.code == 200) {
- total.dataTotal = res.data.total.total * 1
- total.pageTotal = res.data.total.pageTotal
- pageTotal.value = res.data.total
- total.value = res.data.total
+ total.value = res.data.total;
+ total.dataTotal = res.data.total.total * 1;
+ total.pageTotal = res.data.total.pageTotal;
+ pageTotal.value = res.data.total;
produceList = deepClone(res.data.data)
produceList.forEach(item => {
// 濡傛灉 shape 鍙兘鏄瓧绗︿覆灏辩敤 ==锛屽鏋滀竴瀹氭槸鏁板瓧灏辩敤 ===
@@ -359,6 +360,7 @@
slots: {filter: 'num1_filter'},},
{field: 'childHeight', width: 120, title: t('order.height'),visible: true,filters: [{data: ''}],
slots: {filter: 'num1_filter'},},
+ {field: 'thickness',width: 90, title: t('order.totalThickness'),visible: true},
{field: 'stockNum', width: 120, title: t('productStock.inventoryQuantity'),visible: true,filters: [{data: ''}],
slots: {filter: 'num1_filter'},},
{field: 'stockArea', width: 120, title: t('report.inventoryArea'),visible: true,filters: [{data: ''}],
@@ -394,7 +396,7 @@
const List = ["quantity",'stockNum','stockArea',]
if (List.includes(column.field)) {
//return footSum(data, column.field)
- return footSum(data, column.field)
+ return total.value?.[column.field] ?? 0
}
return ''
})
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
index a95b10e..d74604d 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -468,7 +468,7 @@
otherMoney:otherMoney.value,
deliveryIdType:company.deliveryIdType,
deliveryOutbound:company.deliveryOutbound,
- type:2
+ type:1
})
gridOptions.toolbarConfig.buttons[0].disabled = true
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java
index a9a1d17..c559028 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java
@@ -108,4 +108,13 @@
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, exportReplenishDTO.class, replenishService.exportReplenishSv(dates), "PatchLogAddDTO");
}
+
+ @ApiOperation("淇敼鎵撳嵃娆℃暟")
+ @PostMapping("/updatePrintNum")
+ public Result updatePrintNum(
+ @RequestBody List<Map<String, Object>> object
+ ) {
+
+ return Result.success(replenishService.updatePrintNumSv(object));
+ }
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
index 32a6f69..ba60fca 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
@@ -213,21 +213,21 @@
}
@ApiOperation("璺ㄥ伐搴忔鐮存姤琛ㄥ鍑�")
@PostMapping("/exportCrossProcessBreaking")
- public void exportCrossProcessBreaking(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportCrossProcessBreaking(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, CrossProcessBreakingDTO.class, reportService.exportCrossProcessBreakingSv(dates), "CrossProcessBreaking");
}
@ApiOperation("闈炶法宸ュ簭娆$牬鎶ヨ〃瀵煎嚭")
@PostMapping("/exportNotCrossProcessBreaking")
- public void exportNotCrossProcessBreaking(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportNotCrossProcessBreaking(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, CrossProcessBreakingDTO.class, reportService.exportNotCrossProcessBreakingSv(dates), "CrossProcessBreaking");
}
@ApiOperation("娆$牬鏄庣粏鎶ヨ〃瀵煎嚭")
@PostMapping("/exportDamageReport")
- public void exportDamageReport(HttpServletResponse response, @RequestBody Map<String, Object> dates) throws IOException, IllegalAccessException, InstantiationException {
+ public void exportDamageReport(HttpServletResponse response, @RequestBody List<String> dates) throws IOException, IllegalAccessException, InstantiationException {
//鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
DownExcel.download(response, DamageReportDTO.class, reportService.exportDamageReportSv(dates), "DamageReport");
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
index 7a76551..08d2b45 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/CrossProcessBreakingDTO.java
@@ -27,6 +27,12 @@
private String breakageType;
@ExcelProperty("娆$牬鍘熷洜")
private String breakageReason;
+ @ExcelProperty("瀹�")
+ private Double childWidth;
+ @ExcelProperty("楂�")
+ private Double childHeight;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
@ExcelProperty("娆$牬鏁伴噺")
private Integer breakageQuantity;
@ExcelProperty("娆$牬闈㈢Н")
@@ -45,4 +51,5 @@
private String creator;
@ExcelProperty("鎶ュ伐缂栧彿")
private String reportingWorkId;
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
index eae38a9..56d3cee 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/DamageReportDTO.java
@@ -48,10 +48,13 @@
private Double childWidth;
@ExcelProperty("楂�")
private Double childHeight;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
@ExcelProperty("鎶ュ伐宸ュ簭")
private String thisProcess;
@ExcelProperty("鍒涘缓浜�")
private String creator;
@ExcelProperty("鎶ュ伐缂栧彿")
private String reportingWorkId;
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
index 49bf585..720774b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/ProcessToBeCompletedDTO.java
@@ -47,4 +47,6 @@
private Double incompleteArea;
@ExcelProperty("鎴愬搧鍚嶇О")
private String productName;
+ @ExcelProperty("鍘氬害")
+ private String thickness;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
index 1e3b104..cfc468d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
@@ -3,6 +3,8 @@
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
+import java.math.BigDecimal;
+
@Data
public class WorkInProgressDTO {
@ExcelProperty("宸ュ簭")
@@ -31,10 +33,12 @@
private Double childWidth;
@ExcelProperty("楂�")
private Double childHeight;
+ @ExcelProperty("鍘氬害")
+ private BigDecimal thickness;
@ExcelProperty("搴撳瓨鏁�")
private Integer stockNum;
@ExcelProperty("搴撳瓨闈㈢Н")
- private Double stockArea;
+ private BigDecimal stockArea;
@ExcelProperty("鎴愬搧鍚嶇О")
private String productName;
@ExcelProperty("鍦ㄥ埗鍝佸悕绉�")
@@ -45,4 +49,5 @@
private String glassNumber;
@ExcelProperty("涓婂伐搴忔姤宸ョ彮缁�")
private String teamsGroupsName;
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java
index 8eb6174..95666d2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java
@@ -7,6 +7,7 @@
import com.example.erp.entity.pp.PatchLog;
import com.example.erp.entity.pp.ReportingWork;
import com.github.yulichang.base.MPJBaseMapper;
+import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -55,5 +56,7 @@
Integer selectProjectCount(String processId, String patchId, Integer technologyNumber);
List<exportReplenishDTO> exportReplenishMp(List<LocalDate> dates);
+
+ Boolean updatePrintNumMp(Integer id);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
index 08dcd08..9175bfb 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -8,6 +8,7 @@
import java.sql.Date;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -48,13 +49,13 @@
List<Map<String, String>> rawMaterialRequisitionMp(Date selectTime1, Date selectTime2, Report report);
- List<CrossProcessBreakingDTO> exportCrossProcessBreakingMp(List<LocalDate> dates);
+ List<CrossProcessBreakingDTO> exportCrossProcessBreakingMp(List<String> dates);
- List<CrossProcessBreakingDTO> exportNotCrossProcessBreakingMp(List<LocalDate> dates);
+ List<CrossProcessBreakingDTO> exportNotCrossProcessBreakingMp(List<LocalDateTime> dates);
Map<String, Integer> getDamageReportPageTotal(Integer offset, Integer pageSize, String selectTime1, String selectTime2, DamageReportDTO damageReportDTO);
- List<DamageReportDTO> exportDamageReportMp(List<LocalDate> dates);
+ List<DamageReportDTO> exportDamageReportMp(List<LocalDateTime> dates);
List<OrderPlanDecompositionDTO> exportOrderPlanDecompositionMp(List<LocalDate> dates);
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java
index c0b78e1..49a6db3 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java
@@ -13,4 +13,6 @@
boolean insertList(List<ProductDetail> getProductDetails);
String getGlassNameByGroup(Integer productId, Integer minTechnologyNumberByGroup, Integer maxTechnologyNumberByGroup);
+
+ String getGlassName(Integer productId);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
index 9025211..602db86 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
@@ -432,5 +432,18 @@
public List<exportReplenishDTO> exportReplenishSv(List<LocalDate> dates) {
return patchMapper.exportReplenishMp(dates);
}
+
+ public Boolean updatePrintNumSv(List<Map<String, Object>> list) {
+ if (!list.isEmpty()){
+ for (Map<String, Object> item : list) {
+ Integer id = (Integer) item.get("id");
+ patchMapper.updatePrintNumMp(id);
+ }
+ return true;
+ }else {
+ return false;
+ }
+
+ }
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index 6b1f586..b68291d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -15,9 +15,11 @@
import com.example.erp.entity.pp.Report;
import com.example.erp.mapper.pp.*;
import com.example.erp.mapper.sd.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
@@ -32,6 +34,8 @@
import java.util.*;
import java.util.concurrent.*;
import java.util.function.Function;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static cn.hutool.core.convert.Convert.toDouble;
@@ -58,6 +62,33 @@
@Resource
private AsyncQueryExecutor asyncExecutor;
+
+ //鏍规嵁鍦ㄥ埗鍝佸悕绉拌幏鍙栧帤搴�
+ private List<BigDecimal> parseGlassThicknessList(String glassName) {
+ List<BigDecimal> list = new ArrayList<>();
+ if (glassName == null || glassName.isEmpty()) {
+ return list;
+ }
+
+ // 鍖归厤鎵�鏈� "鏁板瓧 + mm"锛屾敮鎸佸皬鏁帮紝渚嬪 3.2mm銆�5mm銆�8mm
+ Pattern pattern = Pattern.compile("(\\d+(?:\\.\\d+)?)mm");
+ Matcher matcher = pattern.matcher(glassName);
+
+ while (matcher.find()) {
+ String numStr = matcher.group(1); // 鎹曡幏 5銆�8銆�3.2
+ try {
+ list.add(new BigDecimal(numStr));
+ } catch (Exception ignore) {
+ }
+ }
+ return list;
+ }
+
+ //鐜荤拑鍘氬害姹傚拰
+ private BigDecimal calcGlassThicknessSum(String glassName) {
+ return parseGlassThicknessList(glassName).stream()
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ }
//涓婂伐搴忔姤宸ョ彮缁�
private void mergeTeamsGroupsName( List<WorkInProgressDTO> dataList1,List<WorkInProgressDTO> dataList2) {
@@ -86,9 +117,11 @@
if(productDetail!=null){
dto1.setGlassName(productDetail.getDetail());
}
+ BigDecimal thicknessSum = calcGlassThicknessSum(productDetail.getDetail());
+ dto1.setThickness(thicknessSum);
//basicData.getNickname().equals("stepC")
- }else if(basicData.getNickname().equals("stepC")){
+ }else if(basicData.getNickname().equals("stepC")){//澶瑰眰
OrderGlassDetail orderGlassDetailGroup = orderGlassDetailMapper
.selectOne(new QueryWrapper<OrderGlassDetail>()
.eq("order_id", dto1.getOrderId())
@@ -102,9 +135,13 @@
orderGlassDetailMapper.getMaxTechnologyNumberByGroup(dto1.getOrderId(),dto1.getOrderNumber(), String.valueOf(orderGlassDetailGroup.getGroup()))
);
dto1.setGlassName(glassName);
-
- }else{
- dto1.setGlassName(dto1.getProductName());
+ BigDecimal thicknessSum = calcGlassThicknessSum(glassName);
+ dto1.setThickness(thicknessSum);
+ }else{//涓┖
+ String glassName = productDetailMapper.getGlassName(orderDetail.getProductId());
+ dto1.setGlassName(glassName);
+ BigDecimal thicknessSum = calcGlassThicknessSum(glassName);
+ dto1.setThickness(thicknessSum);
}
}
@@ -973,12 +1010,22 @@
return map;
}
- public List exportCrossProcessBreakingSv(List<LocalDate> dates) {
+ public List exportCrossProcessBreakingSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
return reportMapper.exportCrossProcessBreakingMp(dates);
}
- public List exportNotCrossProcessBreakingSv(List<LocalDate> dates) {
- return reportMapper.exportNotCrossProcessBreakingMp(dates);
+ public List exportNotCrossProcessBreakingSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
+ return reportMapper.exportNotCrossProcessBreakingMp(dateTimeList);
}
// public List exportTeamOutputSv(Map<String, Object> dates) {
@@ -990,9 +1037,15 @@
// String laminating = reportMapper.getLaminating(process);
// return reportMapper.exportTeamOutputMp(date,process,laminating);
// }
- public List exportDamageReportSv(Map<String, Object> dates) {
- List<LocalDate> date= (List<LocalDate>) dates.get("date");
- return reportMapper.exportDamageReportMp(date);
+ public List exportDamageReportSv(List<String> dates) {
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ List<LocalDateTime> dateTimeList = dates.stream()
+ .map(s -> LocalDateTime.parse(s, formatter))
+ .collect(Collectors.toList());
+
+ // 杩欓噷鐢� LocalDateTime 鍘昏皟鐢� mapper
+ return reportMapper.exportDamageReportMp(dateTimeList);
}
public List exportOrderPlanDecompositionSv(List<LocalDate> dates) {
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedGlassShelf.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedGlassShelf.xml
index b85bddf..ff6017c 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedGlassShelf.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedGlassShelf.xml
@@ -37,7 +37,7 @@
<select id="getSelectFinishedGlassShelfInformationInventoryArea">
SELECT
- MAX(CAST(REGEXP_REPLACE(glass_shelf_number, '[^0-9]', '')AS UNSIGNED)) AS maxDindex
+ ifnull(MAX(CAST(REGEXP_REPLACE(glass_shelf_number, '[^0-9]', '')AS UNSIGNED)),0) AS maxDindex
FROM
finished_glass_shelf_information
WHERE
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
index eef98e0..5fb149d 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -80,7 +80,7 @@
from (select *
from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
- left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number
+ left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number and fgi.box_no=fol.remarks
left join sd.`order` o on o.order_id=fol.order_id
<where>
date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
@@ -148,17 +148,20 @@
and o.project regexp #{finishedOperateLog.order.project}
</if>
</where>
+ group by fol.order_id,fol.operation_number,fol.remarks
order by fol.operate_time desc
limit #{offset},#{pageSize};
</select>
<select id="getSelectStorageRecordLogPageTotal">
- select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
- count(fol.id) as 'total'
+ select
+ CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
+ count(zu.id) as 'total' from (
+ select fol.id
from (select *
from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='宸蹭綔搴�') fol
left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
- left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number
+ left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number and fgi.box_no=fol.remarks
left join sd.`order` o on o.order_id=fol.order_id
<where>
date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate}
@@ -226,7 +229,9 @@
and o.project regexp #{finishedOperateLog.order.project}
</if>
</where>
+ group by fol.order_id,fol.operation_number,fol.remarks
order by fol.`status` desc
+ ) as zu
</select>
<update id="updateToExamine">
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index cdef190..de8a8cd 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1284,7 +1284,7 @@
</select>
<select id="selectReplenishPrintMp">
- select fc.id,
+ select pl.id,
fc.order_id,
fc.process_id,
o.customer_name,
@@ -1309,7 +1309,8 @@
pl.reporting_work_id,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
pl.patch_id,
- date(pl.create_time) as create_time
+ date(pl.create_time) as create_time,
+ pl.print_num
from flow_card as fc
left join sd.order_glass_detail as ogd
diff --git a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
index b554941..77c5044 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -474,4 +474,8 @@
</where>
order by r.review_status,r.id desc
</select>
+
+ <update id="updatePrintNumMp">
+ update pp.patch_log set print_num=IFNULL(print_num,0)+1 where id=#{id}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index 03253e7..f169955 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -278,13 +278,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -331,6 +335,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
GROUP BY dd.id
order by dd.id desc
limit #{offset},#{pageSize}
@@ -354,13 +367,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -406,6 +423,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
GROUP BY dd.id
order by dd.id desc
@@ -469,6 +495,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
order by dd.id desc
</select>
@@ -528,6 +563,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
order by dd.id desc
</select>
@@ -788,7 +832,8 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
FROM
sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
@@ -797,6 +842,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -852,6 +898,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
GROUP BY
dd.id
@@ -870,6 +919,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -924,6 +974,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
limit #{offset},#{pageSize};
</select>
@@ -1302,7 +1355,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1339,7 +1395,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1381,7 +1440,8 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
FROM sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
@@ -1389,6 +1449,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE rw.reporting_work_time >= #{dates[0]}
and rw.reporting_work_time <= #{dates[1]}
AND dd.available = 0 and rw.reviewed_state>=0
@@ -1461,7 +1522,8 @@
od.quantity - odpd.reporting_work_num as incompleteNum,
ROUND(ogd.child_width * ogd.child_height * (od.quantity - odpd.reporting_work_num) / 1000000,
2) as incompleteArea,
- od.product_name
+ od.product_name,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
from sd.order_detail AS od
LEFT JOIN sd.order_glass_detail AS ogd
@@ -1479,6 +1541,7 @@
and odpd.process_id = fc.process_id
left join sd.`order` as o
on o.order_id = od.order_id
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where o.create_order>0
and odpd.process = #{process}
and date(o.create_time) >= #{date[0]}
@@ -2668,6 +2731,7 @@
AND dd.technology_number = ogd.technology_number
LEFT JOIN sd.order_detail AS od ON o.order_id = od.order_id
AND od.order_number = ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -2723,6 +2787,9 @@
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
</if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
+ </if>
</select>
<select id="teamOutputFootSum">
diff --git a/north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml
index c141a7f..055ac8e 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml
@@ -33,4 +33,10 @@
and glass_sort >= #{minTechnologyNumberByGroup}
and glass_sort >= #{minTechnologyNumberByGroup}
</select>
+
+ <select id="getGlassName">
+ SELECT GROUP_CONCAT(detail SEPARATOR '+')
+ from sd.product_detail
+ where prod_id = #{productId} and detail_type='glass'
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0