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
9caabae9
Commit
9caabae9
authored
Nov 11, 2024
by
温志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改BUG
parent
ba7cde52
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
276 additions
and
23 deletions
+276
-23
ProFeedbackMapper.java
...main/java/com/ximai/mes/pro/mapper/ProFeedbackMapper.java
+4
-0
ProTaskServiceImpl.java
...m/ximai/mes/pro/service/impl/task/ProTaskServiceImpl.java
+28
-18
FeedbackController.java
...a/com/ximai/mes/report/controller/FeedbackController.java
+11
-2
FeedbackRequest.java
...in/java/com/ximai/mes/report/request/FeedbackRequest.java
+6
-2
FeedbackResponse.java
.../java/com/ximai/mes/report/response/FeedbackResponse.java
+141
-0
FeedbackService.java
...in/java/com/ximai/mes/report/service/FeedbackService.java
+10
-0
FeedbackServiceImp.java
...com/ximai/mes/report/service/impl/FeedbackServiceImp.java
+22
-0
ProFeedbackMapper.xml
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
+48
-0
ProProductionSolutionMapper.xml
...er/pro/productionSolution/ProProductionSolutionMapper.xml
+6
-1
No files found.
mes/src/main/java/com/ximai/mes/pro/mapper/ProFeedbackMapper.java
View file @
9caabae9
...
@@ -5,6 +5,8 @@ import com.ximai.mes.pro.domain.ProFeedback;
...
@@ -5,6 +5,8 @@ import com.ximai.mes.pro.domain.ProFeedback;
import
com.ximai.mes.pro.domain.vo.ProFeedbackVo
;
import
com.ximai.mes.pro.domain.vo.ProFeedbackVo
;
import
com.ximai.mes.pro.domain.vo.ProProcessTaskVo
;
import
com.ximai.mes.pro.domain.vo.ProProcessTaskVo
;
import
com.ximai.mes.pro.dto.ProFeedbackDto
;
import
com.ximai.mes.pro.dto.ProFeedbackDto
;
import
com.ximai.mes.report.request.FeedbackRequest
;
import
com.ximai.mes.report.response.FeedbackResponse
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.security.core.parameters.P
;
import
org.springframework.security.core.parameters.P
;
...
@@ -121,4 +123,6 @@ public interface ProFeedbackMapper {
...
@@ -121,4 +123,6 @@ public interface ProFeedbackMapper {
void
updateAbnormal
(
@Param
(
"abnormalId"
)
Long
abnormalId
,
@Param
(
"abnormalReason"
)
String
abnormalReason
,
@Param
(
"abnormalRemark"
)
String
abnormalRemark
,
@Param
(
"abnormalType"
)
String
abnormalType
,
@Param
(
"recordId"
)
Long
recordId
);
void
updateAbnormal
(
@Param
(
"abnormalId"
)
Long
abnormalId
,
@Param
(
"abnormalReason"
)
String
abnormalReason
,
@Param
(
"abnormalRemark"
)
String
abnormalRemark
,
@Param
(
"abnormalType"
)
String
abnormalType
,
@Param
(
"recordId"
)
Long
recordId
);
void
updateLastFeedback
(
@Param
(
"qrcode"
)
String
qrcode
,
@Param
(
"taskId"
)
Long
taskId
);
void
updateLastFeedback
(
@Param
(
"qrcode"
)
String
qrcode
,
@Param
(
"taskId"
)
Long
taskId
);
List
<
FeedbackResponse
>
getList
(
FeedbackRequest
feedbackRequest
);
}
}
mes/src/main/java/com/ximai/mes/pro/service/impl/task/ProTaskServiceImpl.java
View file @
9caabae9
...
@@ -1345,25 +1345,35 @@ public class ProTaskServiceImpl implements IProTaskService {
...
@@ -1345,25 +1345,35 @@ public class ProTaskServiceImpl implements IProTaskService {
query
.
gt
(
"ptw.quantity"
,
0
);
query
.
gt
(
"ptw.quantity"
,
0
);
query
.
orderByAsc
(
"statusIndex"
).
orderByAsc
(
"ptw.schedule_start_date"
);
query
.
orderByAsc
(
"statusIndex"
).
orderByAsc
(
"ptw.schedule_start_date"
);
//搜索条件为工单号查询相应任务ID作为查询条件
//搜索条件为工单号查询相应任务ID作为查询条件
if
(
StringUtils
.
isNotEmpty
(
proTask
.
getWorkorderCode
()))
{
//
if (StringUtils.isNotEmpty(proTask.getWorkorderCode())) {
QueryWrapper
<
ProTask
>
taskQuery
=
new
QueryWrapper
<>();
//
QueryWrapper<ProTask> taskQuery = new QueryWrapper<>();
taskQuery
.
eq
(
"t2.workorder_code"
,
proTask
.
getWorkorderCode
());
//
taskQuery.eq("t2.workorder_code", proTask.getWorkorderCode());
taskQuery
.
eq
(
proTask
.
getWorkunitId
()
!=
null
,
"t4.workunit_id"
,
proTask
.
getWorkunitId
());
//
taskQuery.eq(proTask.getWorkunitId() != null, "t4.workunit_id", proTask.getWorkunitId());
List
<
ProTaskVo
>
taskVoList
=
proTaskMapper
.
selectProTaskJoinWorkorder
(
taskQuery
);
//
List<ProTaskVo> taskVoList = proTaskMapper.selectProTaskJoinWorkorder(taskQuery);
if
(
CollectionUtil
.
isEmpty
(
taskVoList
))
{
//
if (CollectionUtil.isEmpty(taskVoList)) {
if
(
CollectionUtil
.
isNotEmpty
(
rst
))
{
//
if (CollectionUtil.isNotEmpty(rst)) {
for
(
ProTask
task
:
rst
)
{
//
for (ProTask task : rst) {
Double
v
=
proFeedbackService
.
selectQuantityQualifySum
(
new
ProFeedback
(
task
.
getArrangeCode
(),
null
,
null
,
task
.
getTaskWorkunitId
()));
//
Double v = proFeedbackService.selectQuantityQualifySum(new ProFeedback(task.getArrangeCode(), null, null, task.getTaskWorkunitId()));
task
.
setArrangeFeedbackSum
(
v
);
//
task.setArrangeFeedbackSum(v);
}
//
}
}
//
}
return
rst
;
//
return rst;
}
else
{
//
} else {
query
.
in
(
"t.task_id"
,
taskVoList
.
stream
().
map
(
ProTaskVo:
:
getTaskId
).
collect
(
Collectors
.
toList
()));
//
query.in("t.task_id", taskVoList.stream().map(ProTaskVo::getTaskId).collect(Collectors.toList()));
}
//
}
}
//
}
list
=
this
.
selectProTaskJoinTaskWorkUnit
(
query
);
list
=
this
.
selectProTaskJoinTaskWorkUnit
(
query
);
if
(
list
.
size
()
<
1
){
query
=
new
QueryWrapper
<>();
query
.
in
(
"ptw.status"
,
statusList
);
query
.
eq
(
proTask
.
getWorkunitId
()
!=
null
,
"mw.workunit_id"
,
proTask
.
getWorkunitId
());
query
.
eq
(
proTask
.
getOutsourced
()
!=
null
,
"ptw.outsourced"
,
proTask
.
getOutsourced
());
query
.
eq
(
StringUtils
.
isNotEmpty
(
proTask
.
getArrangeCode
()),
"t.task_code"
,
proTask
.
getArrangeCode
());
query
.
gt
(
proTask
.
getAllowProduce
()
!=
null
&&
proTask
.
getAllowProduce
()
==
1
,
"t.quantity_wait"
,
0
);
query
.
gt
(
"ptw.quantity"
,
0
);
query
.
orderByAsc
(
"statusIndex"
).
orderByAsc
(
"ptw.schedule_start_date"
);
list
=
this
.
selectProTaskJoinTaskWorkUnit
(
query
);
}
rst
=
list
.
stream
().
filter
(
t
->
!
TaskStatusEnum
.
FINISHED
.
getStatus
().
equals
(
t
.
getStatus
())).
collect
(
Collectors
.
toList
());
rst
=
list
.
stream
().
filter
(
t
->
!
TaskStatusEnum
.
FINISHED
.
getStatus
().
equals
(
t
.
getStatus
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isNotEmpty
(
rst
))
{
if
(
CollectionUtil
.
isNotEmpty
(
rst
))
{
for
(
ProTask
task
:
rst
)
{
for
(
ProTask
task
:
rst
)
{
...
...
mes/src/main/java/com/ximai/mes/report/controller/FeedbackController.java
View file @
9caabae9
...
@@ -5,24 +5,33 @@ import com.ximai.common.core.controller.BaseController;
...
@@ -5,24 +5,33 @@ import com.ximai.common.core.controller.BaseController;
import
com.ximai.common.core.domain.AjaxResult
;
import
com.ximai.common.core.domain.AjaxResult
;
import
com.ximai.common.enums.BusinessType
;
import
com.ximai.common.enums.BusinessType
;
import
com.ximai.mes.report.request.FeedbackRequest
;
import
com.ximai.mes.report.request.FeedbackRequest
;
import
com.ximai.mes.report.response.FeedbackResponse
;
import
com.ximai.mes.report.service.FeedbackService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@Api
(
"生产报工"
)
@Api
(
"生产报工"
)
@RestController
@RestController
@RequestMapping
(
"/report/pro/feedback"
)
@RequestMapping
(
"/report/pro/feedback"
)
public
class
FeedbackController
extends
BaseController
{
public
class
FeedbackController
extends
BaseController
{
@Autowired
FeedbackService
feedbackService
;
/**
/**
* 新增生产报工记录
* 新增生产报工记录
*/
*/
@ApiOperation
(
"新增报工单接口"
)
@ApiOperation
(
"新增报工单接口"
)
@PreAuthorize
(
"@ss.hasPermi('mes:pro:feedback:add')"
)
@PreAuthorize
(
"@ss.hasPermi('mes:pro:feedback:add')"
)
@Log
(
title
=
"生产报工记录"
,
businessType
=
BusinessType
.
QUERY
)
@Log
(
title
=
"生产报工记录"
,
businessType
=
BusinessType
.
QUERY
)
@GetMapping
@GetMapping
(
"/getList"
)
public
AjaxResult
add
(
@RequestBody
FeedbackRequest
feedbackRequest
)
{
public
AjaxResult
getList
(
@RequestBody
FeedbackRequest
feedbackRequest
)
{
List
<
FeedbackResponse
>
feedbackResponseList
=
feedbackService
.
getList
(
feedbackRequest
);
return
null
;
return
null
;
}
}
}
}
mes/src/main/java/com/ximai/mes/report/request/FeedbackRequest.java
View file @
9caabae9
...
@@ -55,6 +55,12 @@ public class FeedbackRequest {
...
@@ -55,6 +55,12 @@ public class FeedbackRequest {
@ApiModelProperty
(
name
=
"产品编号"
)
@ApiModelProperty
(
name
=
"产品编号"
)
private
String
productCode
;
private
String
productCode
;
/**
* 产品编号
*/
@ApiModelProperty
(
name
=
"产品编号"
)
private
String
productId
;
/**
/**
* 产品名称
* 产品名称
*/
*/
...
@@ -76,9 +82,7 @@ public class FeedbackRequest {
...
@@ -76,9 +82,7 @@ public class FeedbackRequest {
/**
/**
* 车间ID
* 车间ID
*/
*/
@Excel
(
name
=
"车间ID"
)
@ApiModelProperty
(
"车间ID"
)
@ApiModelProperty
(
"车间ID"
)
private
Long
workshopId
;
private
Long
workshopId
;
@ApiModelProperty
(
"车间名称"
)
@ApiModelProperty
(
"车间名称"
)
private
String
workshopName
;
private
String
workshopName
;
...
...
mes/src/main/java/com/ximai/mes/report/response/FeedbackResponse.java
0 → 100644
View file @
9caabae9
package
com
.
ximai
.
mes
.
report
.
response
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.ximai.common.annotation.Excel
;
import
com.ximai.mes.pro.domain.ProFeedback
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.math.BigDecimal
;
import
java.util.Date
;
public
class
FeedbackResponse
extends
ProFeedback
{
/**
* 工单类型,项目号,订单号,
* 生产工单,产品编码,产品名称,
* 工序任务(报工表),工序名称,
* 工作中心编码(报工表),工作中心名称,
* 工作单元编码(报工表),工作单元名称,
* 报工人员编码(报工表),报工人员名称,
* 派工数量(报工表,派工数量为0不显示),
* 报工数量,合格数量,不合格数量,
* 不合格原因,标准工时(派工表),
* 实际工时(报工表),
* 计划完成时间(派工表),报工时间(报工表)
*/
/**
* 工单类型
*/
@ApiModelProperty
(
name
=
"工单类型"
)
private
String
workorderType
;
@ApiModelProperty
(
"客户项目号"
)
private
String
customerProjectNo
;
@ApiModelProperty
(
"订单单号"
)
private
String
orderCode
;
@ApiModelProperty
(
name
=
"工单编码"
)
private
String
workorderCode
;
/**
* 产品编号
*/
@ApiModelProperty
(
name
=
"产品编号"
)
private
String
productCode
;
/**
* 产品名称
*/
@ApiModelProperty
(
name
=
"产品名称"
)
private
String
productName
;
/**
* 任务编号
*/
@ApiModelProperty
(
name
=
"工序任务号"
)
private
String
taskCode
;
/**
* 工序名称
*/
@ApiModelProperty
(
name
=
"工序名称"
)
private
String
processName
;
/**
* 工作中心编号
*/
@ApiModelProperty
(
name
=
"工作中心编号"
)
private
String
workstationCode
;
/**
* 工作中心名称
*/
@ApiModelProperty
(
name
=
"工作中心名称"
)
private
String
workstationName
;
/**
*
*/
@ApiModelProperty
(
"工作单元ID"
)
private
Long
workunitId
;
@ApiModelProperty
(
"工作单元名称"
)
private
String
workunitName
;
@ApiModelProperty
(
"报工人员"
)
private
String
userName
;
@ApiModelProperty
(
"报工人员名称"
)
private
String
nickName
;
/**
* 排产数量
*/
@ApiModelProperty
(
name
=
"派工数量"
)
private
BigDecimal
quantity
;
/**
* 本次报工数量
*/
@ApiModelProperty
(
name
=
"本次报工数量"
)
private
BigDecimal
quantityFeedback
;
/**
* 合格品数量
*/
@ApiModelProperty
(
name
=
"合格品数量"
)
private
BigDecimal
quantityQualify
;
/**
* 不良品数量
*/
@ApiModelProperty
(
name
=
"不良品数量"
)
private
BigDecimal
quantityUnqualify
;
/** 异常原因 */
@ApiModelProperty
(
name
=
"异常原因"
)
private
String
abnormalReason
;
@ApiModelProperty
(
"标准工时"
)
private
BigDecimal
stdWorkingTime
;
@ApiModelProperty
(
"实际工时"
)
private
String
machineTime
;
/**
* 预计结束时间
*/
@ApiModelProperty
(
"计划结束时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
scheduleEndDate
;
/**
* 报工时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
name
=
"报工时间"
)
private
Date
feedbackTime
;
}
mes/src/main/java/com/ximai/mes/report/service/FeedbackService.java
0 → 100644
View file @
9caabae9
package
com
.
ximai
.
mes
.
report
.
service
;
import
com.ximai.mes.report.request.FeedbackRequest
;
import
com.ximai.mes.report.response.FeedbackResponse
;
import
java.util.List
;
public
interface
FeedbackService
{
List
<
FeedbackResponse
>
getList
(
FeedbackRequest
feedbackRequest
);
}
mes/src/main/java/com/ximai/mes/report/service/impl/FeedbackServiceImp.java
0 → 100644
View file @
9caabae9
package
com
.
ximai
.
mes
.
report
.
service
.
impl
;
import
com.ximai.mes.pro.domain.ProFeedback
;
import
com.ximai.mes.pro.mapper.ProFeedbackMapper
;
import
com.ximai.mes.report.request.FeedbackRequest
;
import
com.ximai.mes.report.response.FeedbackResponse
;
import
com.ximai.mes.report.service.FeedbackService
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
FeedbackServiceImp
implements
FeedbackService
{
@Autowired
ProFeedbackMapper
proFeedbackMapper
;
@Override
public
List
<
FeedbackResponse
>
getList
(
FeedbackRequest
feedbackRequest
)
{
return
proFeedbackMapper
.
getList
(
feedbackRequest
);
}
}
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
View file @
9caabae9
...
@@ -168,6 +168,54 @@
...
@@ -168,6 +168,54 @@
<include
refid=
"selectProFeedbackVo"
/>
<include
refid=
"selectProFeedbackVo"
/>
where f.record_id = #{recordId}
where f.record_id = #{recordId}
</select>
</select>
<select
id=
"getList"
resultType=
"com.ximai.mes.report.response.FeedbackResponse"
>
select
workorder.workorder_Type,
workorder.customer_Project_No,
workorder.order_Code,
workorder.workorder_Code,
workorder.product_Code,
workorder.product_Name,
pt.task_Code,
pt.process_Name,
pt.workstation_code,
pt.workstation_Name,
workunit.workunit_id,
mw.workunit_name,
f.user_name,
f.nick_name,
f.quantity,
f.quantity_qualify,
f.quantity_unqualify,
f.quantity_feedback,
f.abnormal_reason,
f.machine_time,
f.feedback_time,
workunit.std_working_time,
workunit.schedule_end_date
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
left join pro_workorder workorder on workorder.workorder_id = f.workorder_id
LEFT JOIN md_item it ON it.item_id = f.item_id
left join md_workunit mw on workunit.workunit_id = mw.workunit_id
left join md_workstation workstation on workstation.workstation_id = mw.workstation_id
<where>
<if
test=
"workorderType != null and workorderType != ''"
>
and workorder.workorder_Type = #{workorderType}
</if>
<if
test=
"customerProjectNo!= null and customerProjectNo != '' "
>
and workorder.customer_Project_No like '%${customerProjectNo}%'
</if>
<if
test=
"orderCode != null and orderCode != '' "
>
and workorder.order_Code like '%${orderCode}%'
</if>
<if
test=
"workorderCode != null and workorderCode != '' "
>
and workorder.workorder_Code like '%${workorderCode}%'
</if>
<if
test=
"taskCode != null and taskCode != '' "
>
and pt.task_Code like '%${taskCode}%'
</if>
<if
test=
"productCode != null and productCode != '' "
>
and workorder.product_Code like '%${productCode}%'
</if>
<if
test=
" productId != null"
>
and workorder.product_Id = #{productId}
</if>
<if
test=
" processId != null "
>
and pt.process_id = #{processId}
</if>
<if
test=
" workshopId != null"
>
and workstation.workshop_Id = #{workshopId}
</if>
<if
test=
" workstationId != null"
>
and workstation.workstation_id = #{workstationId}
</if>
<if
test=
" workunitId != null"
>
and workunit.workunit_id = #{workunitId}
</if>
<if
test=
" userName != null and userName != '' "
>
and f.user_Name like '%${userName}%%'
</if>
<if
test=
" startDate != null and endDate != null"
>
and feedback_time BETWEEN #{startDate} AND #{endDate}
</if>
</where>
</select>
<insert
id=
"insertProFeedback"
parameterType=
"ProFeedback"
useGeneratedKeys=
"true"
keyProperty=
"recordId"
>
<insert
id=
"insertProFeedback"
parameterType=
"ProFeedback"
useGeneratedKeys=
"true"
keyProperty=
"recordId"
>
insert into pro_feedback
insert into pro_feedback
...
...
mes/src/main/resources/mapper/pro/productionSolution/ProProductionSolutionMapper.xml
View file @
9caabae9
...
@@ -175,7 +175,9 @@
...
@@ -175,7 +175,9 @@
<if
test=
"sapPrototypeMakeCode != null"
>
sap_prototype_make_code,
</if>
<if
test=
"sapPrototypeMakeCode != null"
>
sap_prototype_make_code,
</if>
<if
test=
"unitPrice != null"
>
unit_price,
</if>
<if
test=
"unitPrice != null"
>
unit_price,
</if>
<if
test=
"surpassState != null"
>
surpass_state,
</if>
<if
test=
"surpassState != null"
>
surpass_state,
</if>
<if
test=
"url != null"
>
url,
</if>
<if
test=
"filePath != null"
>
file_path,
</if>
<if
test=
"originalFilename != null"
>
original_filename,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"productionSolutionCode != null"
>
#{productionSolutionCode},
</if>
<if
test=
"productionSolutionCode != null"
>
#{productionSolutionCode},
</if>
...
@@ -206,6 +208,9 @@
...
@@ -206,6 +208,9 @@
<if
test=
"sapPrototypeMakeCode != null"
>
#{sapPrototypeMakeCode},
</if>
<if
test=
"sapPrototypeMakeCode != null"
>
#{sapPrototypeMakeCode},
</if>
<if
test=
"unitPrice != null"
>
#{unitPrice},
</if>
<if
test=
"unitPrice != null"
>
#{unitPrice},
</if>
<if
test=
"surpassState != null"
>
#{surpassState},
</if>
<if
test=
"surpassState != null"
>
#{surpassState},
</if>
<if
test=
"url != null"
>
#{url},
</if>
<if
test=
"filePath != null"
>
#{filePath},
</if>
<if
test=
"originalFilename != null"
>
#{originalFilename},
</if>
</trim>
</trim>
</insert>
</insert>
...
...
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