Commit 0517b307 authored by 温志超's avatar 温志超

更新报表

parent d6f2b60b
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<!-- 日志存放路径 --> <!-- 日志存放路径 -->
<property name="log.path" value="d:/logs/mes" /> <property name="log.path" value="/home/ximai/logs" />
<!-- 日志输出格式 --> <!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 --> <!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<charset>UTF-8</charset> </encoder>
</encoder> </appender>
</appender>
<!-- 系统日志输出 --> <!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file> <file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 --> <!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>60</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<charset>UTF-8</charset> </encoder>
</encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 --> <!-- 过滤的级别 -->
<level>INFO</level> <level>INFO</level>
<!-- 匹配时的操作:接收(记录) --> <!-- 匹配时的操作:接收(记录) -->
...@@ -35,34 +33,33 @@ ...@@ -35,34 +33,33 @@
<!-- 不匹配时的操作:拒绝(不记录) --> <!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch> <onMismatch>DENY</onMismatch>
</filter> </filter>
</appender> </appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file> <file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 --> <!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>60</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<charset>UTF-8</charset>
</encoder> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 --> <!-- 过滤的级别 -->
<level>ERROR</level> <level>ERROR</level>
<!-- 匹配时的操作:接收(记录) --> <!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch> <onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) --> <!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch> <onMismatch>DENY</onMismatch>
</filter> </filter>
</appender> </appender>
<!-- 用户访问日志输出 --> <!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file> <file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily --> <!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
...@@ -71,7 +68,6 @@ ...@@ -71,7 +68,6 @@
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<charset>UTF-8</charset>
</encoder> </encoder>
</appender> </appender>
...@@ -86,26 +82,25 @@ ...@@ -86,26 +82,25 @@
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<charset>UTF-8</charset>
</encoder> </encoder>
</appender> </appender>
<!-- 系统模块日志级别控制 --> <!-- 系统模块日志级别控制 -->
<logger name="com.ximai" level="info" /> <logger name="com.ximai" level="info" />
<!-- Spring日志级别控制 --> <!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" /> <logger name="org.springframework" level="warn" />
<root level="info"> <root level="info">
<appender-ref ref="console" /> <appender-ref ref="console" />
</root> </root>
<!--系统操作日志--> <!--系统操作日志-->
<root level="info"> <root level="info">
<appender-ref ref="file_info" /> <appender-ref ref="file_info" />
<appender-ref ref="file_error" /> <appender-ref ref="file_error" />
</root> </root>
<!--系统用户操作日志--> <!--系统用户操作日志-->
<logger name="sys-user" level="info"> <logger name="sys-user" level="info">
<appender-ref ref="sys-user"/> <appender-ref ref="sys-user"/>
</logger> </logger>
......
...@@ -125,4 +125,16 @@ public interface ProFeedbackMapper { ...@@ -125,4 +125,16 @@ public interface ProFeedbackMapper {
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); List<FeedbackResponse> getList(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkOrder(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkshop(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkstation(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkunit(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByProcess(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest);
} }
...@@ -3,6 +3,7 @@ package com.ximai.mes.report.controller; ...@@ -3,6 +3,7 @@ package com.ximai.mes.report.controller;
import com.ximai.common.annotation.Log; import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController; 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.core.page.TableDataInfo;
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.response.FeedbackResponse;
...@@ -14,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -14,6 +15,8 @@ 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.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.List; import java.util.List;
@Api("生产报工") @Api("生产报工")
...@@ -26,12 +29,141 @@ public class FeedbackController extends BaseController { ...@@ -26,12 +29,141 @@ public class FeedbackController extends BaseController {
/** /**
* 新增生产报工记录 * 新增生产报工记录
*/ */
@ApiOperation("新增报工单接口") @ApiOperation("生产报工记录:明细界面")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:add')") @PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录", businessType = BusinessType.QUERY) @Log(title = "生产报工记录", businessType = BusinessType.QUERY)
@GetMapping("/getList") @GetMapping("/getList")
public AjaxResult getList(@RequestBody FeedbackRequest feedbackRequest) { public TableDataInfo getList(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getList(feedbackRequest); List<FeedbackResponse> feedbackResponseList = feedbackService.getList(feedbackRequest);
return null; return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式工单", businessType = BusinessType.QUERY)
@GetMapping("/getListByWorkOrder")
public TableDataInfo getListByWorkOrder(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByWorkOrder(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录:统计方式车间")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式车间", businessType = BusinessType.QUERY)
@GetMapping("/getListByWorkshop")
public TableDataInfo getListByWorkshop(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByWorkshop(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录:统计方式工作中心")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式工作中心", businessType = BusinessType.QUERY)
@GetMapping("/getListByWorkstation")
public TableDataInfo getListByWorkstation(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByWorkstation(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录:统计方式工作单元")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式工作单元", businessType = BusinessType.QUERY)
@GetMapping("/getListByWorkunit")
public TableDataInfo getListByWorkunit(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByWorkunit(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录:统计方式工序")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式工序", businessType = BusinessType.QUERY)
@GetMapping("/getListByProcess")
public TableDataInfo getListByProcess(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByProcess(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
}
@ApiOperation("生产报工记录:统计方式工序")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产报工记录:统计方式工序", businessType = BusinessType.QUERY)
@GetMapping("/getListByUser")
public TableDataInfo getListByUser(@RequestBody FeedbackRequest feedbackRequest) {
startPage();
List<FeedbackResponse> feedbackResponseList = feedbackService.getListByUser(feedbackRequest);
DecimalFormat df = new DecimalFormat("0.00%");
for(FeedbackResponse feedbackResponse : feedbackResponseList){
if(feedbackResponse.getQuantityFeedback() != null
&& feedbackResponse.getQuantityFeedback().compareTo(BigDecimal.ZERO) != 0
&& feedbackResponse.getQuantityUnqualify()!= null ){
feedbackResponse.setQualificationRate(df.format((feedbackResponse.getQuantityQualify().divide(feedbackResponse.getQuantityFeedback()).doubleValue())));
}else{
feedbackResponse.setQualificationRate("0.00%");
}
}
return getDataTable(feedbackResponseList);
} }
} }
...@@ -4,10 +4,11 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -4,10 +4,11 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel; import com.ximai.common.annotation.Excel;
import com.ximai.mes.pro.domain.ProFeedback; import com.ximai.mes.pro.domain.ProFeedback;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@Data
public class FeedbackResponse extends ProFeedback { public class FeedbackResponse extends ProFeedback {
/** /**
* 工单类型,项目号,订单号, * 工单类型,项目号,订单号,
...@@ -38,6 +39,8 @@ public class FeedbackResponse extends ProFeedback { ...@@ -38,6 +39,8 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty(name = "工单编码") @ApiModelProperty(name = "工单编码")
private String workorderCode; private String workorderCode;
@ApiModelProperty(name = "工单名称")
private String workorderName;
/** /**
* 产品编号 * 产品编号
*/ */
...@@ -56,6 +59,13 @@ public class FeedbackResponse extends ProFeedback { ...@@ -56,6 +59,13 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty(name = "工序任务号") @ApiModelProperty(name = "工序任务号")
private String taskCode; private String taskCode;
/**
* 工序名称
*/
@ApiModelProperty(name = "工序编码")
private String processCode;
/** /**
* 工序名称 * 工序名称
*/ */
...@@ -82,6 +92,12 @@ public class FeedbackResponse extends ProFeedback { ...@@ -82,6 +92,12 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty("工作单元ID") @ApiModelProperty("工作单元ID")
private Long workunitId; private Long workunitId;
/**
*
*/
@ApiModelProperty("工作单元编码")
private String workunitCode;
@ApiModelProperty("工作单元名称") @ApiModelProperty("工作单元名称")
private String workunitName; private String workunitName;
...@@ -138,4 +154,13 @@ public class FeedbackResponse extends ProFeedback { ...@@ -138,4 +154,13 @@ public class FeedbackResponse extends ProFeedback {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(name = "报工时间") @ApiModelProperty(name = "报工时间")
private Date feedbackTime; private Date feedbackTime;
@ApiModelProperty("良率")
private String qualificationRate;
@ApiModelProperty("车间编号")
private String workshopCode;
@ApiModelProperty("车间名称")
private String workshopName;
} }
...@@ -7,4 +7,16 @@ import java.util.List; ...@@ -7,4 +7,16 @@ import java.util.List;
public interface FeedbackService { public interface FeedbackService {
List<FeedbackResponse> getList(FeedbackRequest feedbackRequest); List<FeedbackResponse> getList(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkOrder(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkshop(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkstation(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByWorkunit(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByProcess(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest);
} }
...@@ -19,4 +19,34 @@ public class FeedbackServiceImp implements FeedbackService { ...@@ -19,4 +19,34 @@ public class FeedbackServiceImp implements FeedbackService {
public List<FeedbackResponse> getList(FeedbackRequest feedbackRequest) { public List<FeedbackResponse> getList(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getList(feedbackRequest); return proFeedbackMapper.getList(feedbackRequest);
} }
@Override
public List<FeedbackResponse> getListByWorkOrder(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByWorkOrder(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByWorkshop(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByWorkshop(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByWorkstation(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByWorkstation(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByWorkunit(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByWorkunit(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByProcess(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByProcess(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByUser(feedbackRequest);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment