Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ximai
mes
Commits
a3f4122c
Commit
a3f4122c
authored
Sep 24, 2025
by
温志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更改查询BUG
parent
55c4c563
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
144 additions
and
7 deletions
+144
-7
ProFeedbackController.java
...a/com/ximai/mes/pro/controller/ProFeedbackController.java
+68
-0
ProTaskWorkunitController.java
...ai/mes/pro/controller/task/ProTaskWorkunitController.java
+23
-1
ProTaskWorkunit.java
...n/java/com/ximai/mes/pro/domain/task/ProTaskWorkunit.java
+16
-0
ProFeedbackVo.java
.../main/java/com/ximai/mes/pro/domain/vo/ProFeedbackVo.java
+8
-2
FeedbackRequest.java
...in/java/com/ximai/mes/report/request/FeedbackRequest.java
+2
-2
WorkOrderProgressRequest.java
...om/ximai/mes/report/request/WorkOrderProgressRequest.java
+4
-1
FeedbackResponse.java
.../java/com/ximai/mes/report/response/FeedbackResponse.java
+6
-0
WorkOrderProgressListResponse.java
...ai/mes/report/response/WorkOrderProgressListResponse.java
+7
-0
ProFeedbackMapper.xml
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
+4
-1
ProWorkorderMapper.xml
.../resources/mapper/pro/proWorkOrder/ProWorkorderMapper.xml
+6
-0
No files found.
mes/src/main/java/com/ximai/mes/pro/controller/ProFeedbackController.java
View file @
a3f4122c
...
...
@@ -10,6 +10,7 @@ import com.ximai.common.enums.BusinessType;
import
com.ximai.common.utils.SecurityUtils
;
import
com.ximai.common.utils.data.ExceptionUtil
;
import
com.ximai.common.utils.data.StringUtils
;
import
com.ximai.common.utils.poi.ExcelUtil
;
import
com.ximai.mes.constant.TaskWorkunitStatusEnum
;
import
com.ximai.mes.md.domain.MdWorkunit
;
import
com.ximai.mes.md.domain.MdWorkunitWorker
;
...
...
@@ -25,6 +26,9 @@ import com.ximai.mes.pro.mapper.ProFeedbackMapper;
import
com.ximai.mes.pro.mapper.task.ProTaskAssistProcessMapper
;
import
com.ximai.mes.pro.service.IProFeedbackService
;
import
com.ximai.mes.pro.service.proWorkOrder.IProWorkOrderSoSizeItemService
;
import
com.ximai.mes.report.response.FeedbackResponseExportByList
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
...
...
@@ -42,6 +46,7 @@ import java.util.stream.Collectors;
* @date 2022-07-10
*/
@RestController
@Api
(
tags
=
"生产报工记录"
)
@RequestMapping
(
"/mes/pro/feedback"
)
public
class
ProFeedbackController
extends
BaseController
{
@Autowired
...
...
@@ -114,7 +119,70 @@ public class ProFeedbackController extends BaseController {
return
getDataTable
(
proFeedbackVoList
);
}
/**
* 查询生产报工记录列表
*/
@GetMapping
(
"/list/export"
)
@ApiOperation
(
"查询生产报工记录列表导出"
)
public
void
listExport
(
HttpServletResponse
response
,
ProFeedbackCheckListDto
proFeedbackCheckListDto
)
{
ProFeedback
proFeedback
=
new
ProFeedback
();
BeanUtils
.
copyProperties
(
proFeedbackCheckListDto
,
proFeedback
);
QueryWrapper
<
ProFeedback
>
query
=
new
QueryWrapper
<>();
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getFeedbackType
()),
"f.feedback_type"
,
proFeedback
.
getFeedbackType
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getStatus
()),
"f.status"
,
proFeedback
.
getStatus
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getAssistProcessCode
()),
"ap.assist_process_code"
,
proFeedback
.
getAssistProcessCode
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getWorkstationName
()),
"f.workstation_name"
,
proFeedback
.
getWorkstationName
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getItemName
()),
"it.item_name"
,
proFeedback
.
getItemName
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getWorkorderCode
()),
"f.workorder_code"
,
proFeedback
.
getWorkorderCode
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getSapItemCode
()),
"it.sap_item_code"
,
proFeedback
.
getSapItemCode
());
query
.
like
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getOrderCode
()),
"workorder.order_code"
,
proFeedback
.
getOrderCode
());
query
.
like
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getOrderSerial
()),
"workorder.order_serial"
,
proFeedback
.
getOrderSerial
());
query
.
like
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getCustomerDrawingNo
()),
"workorder.Customer_Drawing_No"
,
proFeedback
.
getCustomerDrawingNo
());
query
.
eq
(
proFeedback
.
getLastFeedback
()
!=
null
,
"f.Last_Feedback"
,
proFeedback
.
getLastFeedback
());
// query.eq(StringUtils.isNotEmpty(proFeedback.getUserId()), "pww.user_id", proFeedback.getUserId());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getWorkunitId
()),
"tw.workunit_id"
,
proFeedback
.
getWorkunitId
());
if
(
proFeedbackCheckListDto
.
getIsCheckUser
()
&&
StringUtils
.
isEmpty
(
proFeedback
.
getWorkunitId
())){
List
<
MdWorkunitVo
>
mdWorkunitVolist
=
mdWorkunitService
.
selectMdWorkunitListByUser
(
new
QueryWrapper
<
MdWorkunit
>().
eq
(
"user_name"
,
SecurityUtils
.
getUsername
()));
if
(
mdWorkunitVolist
.
size
()
<
1
){
ExcelUtil
<
ProFeedbackVo
>
util
=
new
ExcelUtil
<>(
ProFeedbackVo
.
class
);
util
.
exportExcel
(
response
,
new
ArrayList
<>(),
"生产报工记录列表"
,
"生产报工记录列表"
);
}
query
.
in
(
mdWorkunitVolist
.
size
()
>
0
,
"tw.workunit_id"
,
mdWorkunitVolist
.
stream
().
map
(
mdWorkunitVo
->
mdWorkunitVo
.
getWorkunitId
()).
collect
(
Collectors
.
toList
()));
}
query
.
eq
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getTaskWorkunitId
()),
"tw.task_workunit_id"
,
proFeedback
.
getTaskWorkunitId
());
query
.
between
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getCreateStartTime
())
&&
StringUtils
.
isNotEmpty
(
proFeedback
.
getCreateEndTime
()),
"f.update_time"
,
proFeedback
.
getCreateStartTime
(),
proFeedback
.
getCreateEndTime
());
query
.
like
(
StringUtils
.
isNotEmpty
(
proFeedback
.
getNickName
()),
"f.nick_name"
,
proFeedback
.
getNickName
());
query
.
notIn
(
"tw.status"
,
TaskWorkunitStatusEnum
.
CLOSE
.
getStatus
());
query
.
orderByAsc
(
"f.feedback_time"
);
List
<
ProFeedbackVo
>
list
=
proFeedbackService
.
queryProFeedbackListJoinTaskWorkUnit
(
query
);
List
<
ProFeedbackVo
>
proFeedbackVoList
=
new
ArrayList
<>();
if
(
proFeedback
.
getUserId
()
!=
null
)
{
List
<
MdWorkunitWorker
>
mdWorkunitWorkers
=
mdWorkunitWorkerMapper
.
selectListByQw
(
new
QueryWrapper
<
MdWorkunitWorker
>().
eq
(
"user_id"
,
proFeedback
.
getUserId
()));
Set
<
Long
>
collect
=
mdWorkunitWorkers
.
stream
().
map
(
MdWorkunitWorker:
:
getWorkunitId
).
collect
(
Collectors
.
toSet
());
// objects = list.stream().filter(x -> !collect.add(x.getWorkunitId())).sorted(Comparator.comparing(ProFeedbackVo::getFeedbackTime).reversed()).collect(Collectors.toList());
proFeedbackVoList
=
list
.
stream
().
filter
(
x
->
!
collect
.
add
(
x
.
getWorkunitId
())).
sorted
(
Comparator
.
comparing
(
ProFeedbackVo:
:
getUpdateTime
).
reversed
()).
collect
(
Collectors
.
toList
());
}
proFeedbackVoList
=
proFeedbackVoList
.
isEmpty
()
?
list
:
proFeedbackVoList
;
proFeedbackVoList
.
forEach
(
s
->{
if
(
IMdWorkstationService
.
OUTSOURCE_WORKSTATION_ID
.
equals
(
s
.
getWorkstationId
())){
s
.
setAssistProcessCode
(
s
.
getTaskCode
());
}
if
(
s
.
getFeedbackType
().
equals
(
"SELF"
)){
s
.
setFeedbackType
(
"自行报工"
);
}
else
{
s
.
setFeedbackType
(
"外协报工"
);
}
});
ExcelUtil
<
ProFeedbackVo
>
util
=
new
ExcelUtil
<>(
ProFeedbackVo
.
class
);
util
.
exportExcel
(
response
,
list
,
"生产报工记录列表"
,
"生产报工记录列表"
);
}
/**
* 查询生产报工记录列表
*/
...
...
mes/src/main/java/com/ximai/mes/pro/controller/task/ProTaskWorkunitController.java
View file @
a3f4122c
...
...
@@ -9,14 +9,17 @@ import com.ximai.common.enums.BusinessType;
import
com.ximai.common.utils.SecurityUtils
;
import
com.ximai.common.utils.data.ExceptionUtil
;
import
com.ximai.common.utils.data.StringUtils
;
import
com.ximai.common.utils.poi.ExcelUtil
;
import
com.ximai.mes.pro.domain.proWorkOrder.ProWorkorder
;
import
com.ximai.mes.pro.domain.task.ProTaskWorkunit
;
import
com.ximai.mes.pro.domain.vo.ProFeedbackVo
;
import
com.ximai.mes.pro.domain.vo.ProTaskVo
;
import
com.ximai.mes.pro.domain.vo.task.ProTaskWorkunitQuery
;
import
com.ximai.mes.pro.domain.vo.task.TaskWorkunitOutsourceSplitParam
;
import
com.ximai.mes.pro.domain.vo.task.TaskWorkunitToOutsourceParam
;
import
com.ximai.mes.pro.domain.vo.task.TaskWorkunitToSelfMadeParam
;
import
com.ximai.mes.pro.service.task.IProTaskWorkunitService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -38,6 +41,7 @@ import java.util.Objects;
*/
@RestController
@RequestMapping
(
"/mes/pro/taskWorkunit"
)
@Api
(
tags
=
"任务工作单元"
)
public
class
ProTaskWorkunitController
extends
BaseController
{
@Autowired
private
IProTaskWorkunitService
proTaskWorkunitService
;
...
...
@@ -53,7 +57,25 @@ public class ProTaskWorkunitController extends BaseController {
List
<
ProTaskWorkunit
>
lists
=
proTaskWorkunitService
.
schedulingList
(
proTaskWorkunit
);
return
getDataTable
(
lists
);
}
/**
* 任务工作单元列表
*/
@PreAuthorize
(
"@ss.hasPermi('mes:pro:taskWorkunit:list')"
)
@PostMapping
(
"/list/export"
)
@ApiOperation
(
"任务工作单元列表导出"
)
public
void
listExport
(
HttpServletResponse
response
,
@RequestBody
ProTaskWorkunitQuery
proTaskWorkunit
)
{
List
<
ProTaskWorkunit
>
lists
=
proTaskWorkunitService
.
schedulingList
(
proTaskWorkunit
);
lists
.
stream
().
forEach
(
proTaskWorkunit1
->
{
if
(
StringUtils
.
isNotEmpty
(
proTaskWorkunit1
.
getTaskBatch
())){
String
[]
spli
=
proTaskWorkunit1
.
getTaskBatch
().
split
(
"-"
);
if
(
spli
.
length
>
1
){
proTaskWorkunit1
.
setTaskBatch
(
spli
[
1
]);
}
}
});
ExcelUtil
<
ProTaskWorkunit
>
util
=
new
ExcelUtil
<>(
ProTaskWorkunit
.
class
);
util
.
exportExcel
(
response
,
lists
,
"任务工作单元列表"
,
"任务工作单元列表"
);
}
@ApiOperation
(
"查询任务工作单元列表"
)
@PostMapping
(
"/workorderList"
)
public
List
<
ProWorkorder
>
listWorkorder
(
@RequestBody
ProTaskWorkunitQuery
proTaskWorkunit
)
{
...
...
mes/src/main/java/com/ximai/mes/pro/domain/task/ProTaskWorkunit.java
View file @
a3f4122c
...
...
@@ -110,12 +110,16 @@ public class ProTaskWorkunit extends BaseEntity {
*/
@ApiModelProperty
(
"计划开始时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"计划开始时间"
)
private
Date
scheduleStartDate
;
/**
* 预计结束时间
*/
@ApiModelProperty
(
"计划结束时间"
)
@Excel
(
name
=
"计划结束时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
scheduleEndDate
;
...
...
@@ -135,18 +139,24 @@ public class ProTaskWorkunit extends BaseEntity {
@ApiModelProperty
(
"工序名"
)
@TableField
(
exist
=
false
)
@Excel
(
name
=
"工序名"
)
private
String
processName
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
"作业单元编码"
)
@Excel
(
name
=
"作业单元编码"
)
private
String
workunitCode
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
"作业单元名称"
)
@Excel
(
name
=
"作业单元名称"
)
private
String
workunitName
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
"任务编码"
)
@Excel
(
name
=
"任务编码"
)
private
String
taskCode
;
//
// @TableField(exist = false)
...
...
@@ -198,23 +208,29 @@ public class ProTaskWorkunit extends BaseEntity {
@TableField
(
exist
=
false
)
@ApiModelProperty
(
"工单编号"
)
@Excel
(
name
=
"工单编号"
)
private
String
workorderCode
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
"待生产数量"
)
@Excel
(
name
=
"可加工数量"
)
private
BigDecimal
quantityWait
;
private
int
percent
;
@ApiModelProperty
(
"客户图号"
)
@TableField
(
exist
=
false
)
@Excel
(
name
=
"产品图号"
)
private
String
customerDrawingNo
;
@ApiModelProperty
(
"订单单号"
)
@Excel
(
name
=
"订单单号"
)
private
String
orderCode
;
@ApiModelProperty
(
"项目号"
)
@Excel
(
name
=
"项目号"
)
private
String
customerProjectNo
;
@ApiModelProperty
(
"任务批号"
)
@Excel
(
name
=
"排产次数"
)
private
String
taskBatch
;
@ApiModelProperty
(
"标准工时"
)
...
...
mes/src/main/java/com/ximai/mes/pro/domain/vo/ProFeedbackVo.java
View file @
a3f4122c
...
...
@@ -26,12 +26,14 @@ public class ProFeedbackVo {
/**
* 报工单编号
*/
private
String
feedbackCode
;
private
String
assistProcessCode
;
/**
* 报工类型
*/
@Excel
(
name
=
"报工类型"
)
private
String
feedbackType
;
/**
...
...
@@ -151,7 +153,7 @@ public class ProFeedbackVo {
/**
* 本次报工数量
*/
@Excel
(
name
=
"
本次
报工数量"
)
@Excel
(
name
=
"报工数量"
)
private
BigDecimal
quantityFeedback
;
/**
...
...
@@ -266,6 +268,7 @@ public class ProFeedbackVo {
@ApiModelProperty
(
"作业单元id"
)
private
Long
workunitId
;
@ApiModelProperty
(
"作业单元名称"
)
@Excel
(
name
=
"作业单元名称"
)
private
String
workunitName
;
@ApiModelProperty
(
"创建人"
)
...
...
@@ -294,13 +297,16 @@ public class ProFeedbackVo {
@ApiModelProperty
(
"产品图号"
)
@TableField
(
exist
=
false
)
@Excel
(
name
=
"产品图号"
)
private
String
customerDrawingNo
;
/** 异常类型 */
/** 销售订单号 */
@Excel
(
name
=
"销售订单号"
)
private
String
orderCode
;
/** 异常类型 */
@Excel
(
name
=
"销售序号"
)
private
String
orderSerial
;
}
mes/src/main/java/com/ximai/mes/report/request/FeedbackRequest.java
View file @
a3f4122c
...
...
@@ -112,11 +112,11 @@ public class FeedbackRequest {
private
String
nickName
;
@ApiModelProperty
(
"报工开始"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
startDate
;
@ApiModelProperty
(
"报工结束"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endDate
;
@ApiModelProperty
(
"是否筛查不良"
)
...
...
mes/src/main/java/com/ximai/mes/report/request/WorkOrderProgressRequest.java
View file @
a3f4122c
...
...
@@ -48,5 +48,8 @@ public class WorkOrderProgressRequest {
@ApiModelProperty
(
"产线"
)
private
String
lineName
;
@ApiModelProperty
(
"订单序号"
)
private
String
orderSerial
;
@ApiModelProperty
(
"排产次数"
)
private
String
taskBatch
;
}
mes/src/main/java/com/ximai/mes/report/response/FeedbackResponse.java
View file @
a3f4122c
...
...
@@ -195,4 +195,10 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty
(
"车间名称"
)
@Excel
(
name
=
"车间名称"
)
private
String
workshopName
;
@ApiModelProperty
(
"订单序号"
)
@Excel
(
name
=
"订单序号"
)
private
String
orderSerial
;
@ApiModelProperty
(
"排产次数"
)
@Excel
(
name
=
"排产次数"
)
private
String
taskBatch
;
}
mes/src/main/java/com/ximai/mes/report/response/WorkOrderProgressListResponse.java
View file @
a3f4122c
...
...
@@ -76,5 +76,12 @@ public class WorkOrderProgressListResponse {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"需求时间"
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
requestDate
;
@ApiModelProperty
(
"订单序号"
)
@Excel
(
name
=
"订单序号"
)
private
String
orderSerial
;
@ApiModelProperty
(
"排产次数"
)
@Excel
(
name
=
"排产次数"
)
private
String
taskBatch
;
}
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
View file @
a3f4122c
...
...
@@ -173,6 +173,7 @@
workorder.workorder_Type,
workorder.customer_Project_No,
workorder.order_Code,
workorder.order_serial,
workorder.workorder_Code,
workorder.product_Code,
workorder.product_Name,
...
...
@@ -193,7 +194,9 @@
f.machine_time,
f.feedback_time,
workunit.std_working_time,
workunit.schedule_end_date
workunit.schedule_end_date,
SUBSTRING_INDEX(pt.task_batch, '-', -1) task_batch,
from pro_feedback f
left join pro_task_workunit workunit on workunit.task_id = f.task_id
left join pro_task pt on f.task_id = pt.task_id
...
...
mes/src/main/resources/mapper/pro/proWorkOrder/ProWorkorderMapper.xml
View file @
a3f4122c
...
...
@@ -265,7 +265,9 @@
pw.in_drawing_no,
pw.erp_create_time,
pw.erp_update_time ,
pw.order_serial,
item.line_name,
SUBSTRING_INDEX(task.task_batch, '-', -1) task_batch,
sum(case task.is_last_process when 0 THEN 0 ELSE fe.quantity_qualify + fe.quantity_unqualify END) as quantity_produced
FROM
pro_workorder pw
...
...
@@ -286,6 +288,8 @@
</if>
<if
test=
"lineName != null and lineName !=''"
>
and item.line_name = #{lineName}
</if>
<if
test=
"lineName != null and lineName !=''"
>
and item.line_name = #{lineName}
</if>
<if
test=
"lineName != null and lineName !=''"
>
and item.line_name = #{lineName}
</if>
</where>
GROUP BY
pw.workorder_id,
...
...
@@ -363,6 +367,8 @@
pw.in_drawing_no,
pw.erp_create_time,
pw.erp_update_time,
pw.order_serial,
SUBSTRING_INDEX(task.task_batch, '-', -1) ,
item.line_name
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment