ruanqi 3 years ago
parent
commit
2bf6b6c655
  1. 14
      src/main/java/com/jtem/common/utils/DateUtils.java
  2. 116
      src/main/java/com/jtem/modules/board/controller/BoardController.java
  3. 23
      src/main/java/com/jtem/modules/board/dao/BoardMapper.java
  4. 103
      src/main/java/com/jtem/modules/board/entity/BoardConfigData.java
  5. 184
      src/main/java/com/jtem/modules/board/entity/NewScheduledData.java
  6. 76
      src/main/java/com/jtem/modules/board/entity/PieBoardData.java
  7. 36
      src/main/java/com/jtem/modules/board/service/BoardService.java
  8. 109
      src/main/java/com/jtem/modules/board/service/impl/BoardServiceImpl.java
  9. 39
      src/main/resources/mapper/board/BoardMapper.xml

14
src/main/java/com/jtem/common/utils/DateUtils.java

@ -46,7 +46,19 @@ public class DateUtils {
}
return null;
}
/**
*
*
* @author LR
* @Description: 获取当前时间的年月日时分秒
* @UpdateUser LR
* @UpdateRemark [说明本次修改内容]
*
*/
public static String getStringNow() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
/**
* 字符串转换成日期
* @param strDate 日期字符串

116
src/main/java/com/jtem/modules/board/controller/BoardController.java

@ -8,6 +8,7 @@ import com.jtem.modules.board.service.BoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -76,4 +77,119 @@ public class BoardController {
List<StockPrintData> resultList = boardService.getStockPrintListCaiGou(ip);
return R.ok().put("rows", resultList);
}
/**
*@Description 获取看板当前时间
* @Title getTime
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
@PostMapping("/getTime")
@ResponseBody
public Object getTime() {
Map<String, Object> map = new HashMap<>();
try {
String date = boardService.getTime();
map.put("success", true);
map.put("rows", date);
} catch (Exception e) {
map.put("msg", e.getMessage());
}
return map;
}
/**
* @Title getReportAbnormalData
* @Description TODO
* @author rq
* @date 2021/7/21 14:48
* @return {@link Object}
*/
@PostMapping("/kanKanYouMeiYouDiaoXian")
@ResponseBody
public Object kanKanYouMeiYouDiaoXian() {
Map<String, Object> map = new HashMap<>();
try {
map.put("success", true);
} catch (Exception e) {
map.put("success", false);
map.put("msg", e.getMessage());
}
return map;
}
/**
*@Description 获取派工单完成情况看板信息
* @Title getNewScheduledTableData
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
@GetMapping("/getNewScheduledTableData/{number}")
@ResponseBody
public Object getNewScheduledTableData(@PathVariable("number") int number){
Map<String, Object> map = new HashMap<>();
try {
map = boardService.getNewScheduledTableData(number);
map.put("success", true);
} catch (Exception e) {
map.put("success", false);
map.put("msg", e.getMessage());
}
return map;
}
/**
*@Description 获取看板数据刷新时间
* @Title getJumpTime
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
// @PostMapping("/getRefreshTime")
// @ResponseBody
@GetMapping("/getRefreshTime/{boardName}")
@ResponseBody
public Object getRefreshTime(@PathVariable("boardName") String boardName) {
Map<String, Object> map = new HashMap<>();
try {
String date = boardService.getRefreshTime(boardName);
map.put("success", true);
map.put("rows", date);
} catch (Exception e) {
map.put("msg", e.getMessage());
}
return map;
}
/**
*@Description 获取派工单完成情况看板信息
* @Title getNewScheduledData
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
@PostMapping("/getScheduledData")
@ResponseBody
public Object getScheduledData() {
Map<String, Object> map = new HashMap<>();
try {
map= boardService.getNewScheduledData();
map.put("success", true);
} catch (Exception e) {
map.put("msg", e.getMessage());
}
return map;
}
}

23
src/main/java/com/jtem/modules/board/dao/BoardMapper.java

@ -2,10 +2,7 @@ package com.jtem.modules.board.dao;
import com.jtem.modules.Schedule.entity.AbnormalFeedBackOutData;
import com.jtem.modules.board.entity.BoardInData;
import com.jtem.modules.board.entity.PrintInfoData;
import com.jtem.modules.board.entity.SOSRoutingBoardData;
import com.jtem.modules.board.entity.StockPrintData;
import com.jtem.modules.board.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -50,4 +47,22 @@ public interface BoardMapper {
* @throw
*/
List<StockPrintData> getStockPrintListCaiGou(String ip);
List<NewScheduledData> getNewScheduledTableList(String date);
/**
*@Description 获取看板刷新时间
* @Title getRefreshTime
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
List<BoardConfigData> getRefreshTimeDefault(String boardName);
PieBoardData getNewScheduledPieList(String date);
List<NewScheduledData> getNewScheduledBarList(String date);
}

103
src/main/java/com/jtem/modules/board/entity/BoardConfigData.java

@ -0,0 +1,103 @@
package com.jtem.modules.board.entity;
public class BoardConfigData {
private String site;
private String value;
private String valueSecond;
private String type;
private String typeDesc;
private String ipAddr;
private String boardName;
private String remark;
private String boardNameDesc;
private int jumpNumber;
private String jumpFlag;
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getValueSecond() {
return valueSecond;
}
public void setValueSecond(String valueSecond) {
this.valueSecond = valueSecond;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getTypeDesc() {
return typeDesc;
}
public void setTypeDesc(String typeDesc) {
this.typeDesc = typeDesc;
}
public String getIpAddr() {
return ipAddr;
}
public void setIpAddr(String ipAddr) {
this.ipAddr = ipAddr;
}
public String getBoardName() {
return boardName;
}
public void setBoardName(String boardName) {
this.boardName = boardName;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getBoardNameDesc() {
return boardNameDesc;
}
public void setBoardNameDesc(String boardNameDesc) {
this.boardNameDesc = boardNameDesc;
}
public int getJumpNumber() {
return jumpNumber;
}
public void setJumpNumber(int jumpNumber) {
this.jumpNumber = jumpNumber;
}
public String getJumpFlag() {
return jumpFlag;
}
public void setJumpFlag(String jumpFlag) {
this.jumpFlag = jumpFlag;
}
}

184
src/main/java/com/jtem/modules/board/entity/NewScheduledData.java

@ -0,0 +1,184 @@
package com.jtem.modules.board.entity;
public class NewScheduledData {
private String resourceId;
private String site;
private Float qtyRequired;
private Float qtyReported;
private Float qtyApprove;
private Float qtyPercent;
private Float approvePercent;
private String resourceDesc;
private String seqno;
private String orderno;
private String partNo;
private String partDesc;
private Float qtyUnReported;
private Float qtyUnApprove;
private String shiftType;
private Float num1;
private Float num2;
private Float num3;
private Float num4;
private String strDate;
public String getResourceId() {
return resourceId;
}
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public Float getQtyRequired() {
return qtyRequired;
}
public void setQtyRequired(Float qtyRequired) {
this.qtyRequired = qtyRequired;
}
public Float getQtyReported() {
return qtyReported;
}
public void setQtyReported(Float qtyReported) {
this.qtyReported = qtyReported;
}
public Float getQtyPercent() {
return qtyPercent;
}
public void setQtyPercent(Float qtyPercent) {
this.qtyPercent = qtyPercent;
}
public String getResourceDesc() {
return resourceDesc;
}
public void setResourceDesc(String resourceDesc) {
this.resourceDesc = resourceDesc;
}
public String getSeqno() {
return seqno;
}
public void setSeqno(String seqno) {
this.seqno = seqno;
}
public String getOrderno() {
return orderno;
}
public void setOrderno(String orderno) {
this.orderno = orderno;
}
public String getPartNo() {
return partNo;
}
public void setPartNo(String partNo) {
this.partNo = partNo;
}
public String getPartDesc() {
return partDesc;
}
public void setPartDesc(String partDesc) {
this.partDesc = partDesc;
}
public Float getQtyUnReported() {
return qtyUnReported;
}
public void setQtyUnReported(Float qtyUnReported) {
this.qtyUnReported = qtyUnReported;
}
public String getShiftType() {
return shiftType;
}
public void setShiftType(String shiftType) {
this.shiftType = shiftType;
}
public Float getNum1() {
return num1;
}
public void setNum1(Float num1) {
this.num1 = num1;
}
public Float getNum2() {
return num2;
}
public void setNum2(Float num2) {
this.num2 = num2;
}
public Float getNum3() {
return num3;
}
public void setNum3(Float num3) {
this.num3 = num3;
}
public Float getNum4() {
return num4;
}
public void setNum4(Float num4) {
this.num4 = num4;
}
public String getStrDate() {
return strDate;
}
public void setStrDate(String strDate) {
this.strDate = strDate;
}
public Float getQtyApprove() {
return qtyApprove;
}
public void setQtyApprove(Float qtyApprove) {
this.qtyApprove = qtyApprove;
}
public Float getApprovePercent() {
return approvePercent;
}
public void setApprovePercent(Float approvePercent) {
this.approvePercent = approvePercent;
}
public Float getQtyUnApprove() {
return qtyUnApprove;
}
public void setQtyUnApprove(Float qtyUnApprove) {
this.qtyUnApprove = qtyUnApprove;
}
}

76
src/main/java/com/jtem/modules/board/entity/PieBoardData.java

@ -0,0 +1,76 @@
package com.jtem.modules.board.entity;
public class PieBoardData {
private float qty1; //总日计划数
private float qty2; //已入库数
private float qty3; //已完成但未入库数
private float qty4; //未完成数
private float per1;
private float per2; //已入库数百分比
private float per3; //已完成但未入库数百分比
private float per4; //未完成数百分比
public float getQty1() {
return qty1;
}
public void setQty1(float qty1) {
this.qty1 = qty1;
}
public float getQty2() {
return qty2;
}
public void setQty2(float qty2) {
this.qty2 = qty2;
}
public float getQty3() {
return qty3;
}
public void setQty3(float qty3) {
this.qty3 = qty3;
}
public float getQty4() {
return qty4;
}
public void setQty4(float qty4) {
this.qty4 = qty4;
}
public float getPer1() {
return per1;
}
public void setPer1(float per1) {
this.per1 = per1;
}
public float getPer2() {
return per2;
}
public void setPer2(float per2) {
this.per2 = per2;
}
public float getPer3() {
return per3;
}
public void setPer3(float per3) {
this.per3 = per3;
}
public float getPer4() {
return per4;
}
public void setPer4(float per4) {
this.per4 = per4;
}
}

36
src/main/java/com/jtem/modules/board/service/BoardService.java

@ -5,6 +5,7 @@ import com.jtem.modules.Schedule.entity.AbnormalFeedBackOutData;
import com.jtem.modules.board.entity.BoardInData;
import com.jtem.modules.board.entity.StockPrintData;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -33,4 +34,39 @@ public interface BoardService {
Map<String, Object> abnormalBoardList(BoardInData inData);
List<StockPrintData> getStockPrintListCaiGou(String ip);
/**
* @Title getTime
* @Description 获取看板当前时间
* @author rq
* @date 2021/6/4 12:01
* @return {@link Date}
*/
String getTime() ;
Map<String, Object> getNewScheduledTableData( int number);
/**
*@Description 获取看板刷新时间
* @Title getRefreshTime
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
String getRefreshTime(String boardName);
/**
*@Description 获取派工单完成情况看板信息
* @Title getNewScheduledData
* @author rq
* @date 2020/11/17 15:39
* @return {@link Object}
* @throw
*/
Map<String, Object> getNewScheduledData();
}

109
src/main/java/com/jtem/modules/board/service/impl/BoardServiceImpl.java

@ -2,13 +2,12 @@ package com.jtem.modules.board.service.impl;
import com.jtem.common.utils.DateUtil;
import com.jtem.common.utils.DateUtils;
import com.jtem.modules.Schedule.entity.AbnormalFeedBackOutData;
import com.jtem.modules.Schedule.entity.SORoutingData;
import com.jtem.modules.board.dao.BoardMapper;
import com.jtem.modules.board.entity.BoardInData;
import com.jtem.modules.board.entity.PrintInfoData;
import com.jtem.modules.board.entity.SOSRoutingBoardData;
import com.jtem.modules.board.entity.StockPrintData;
import com.jtem.modules.board.entity.*;
import com.jtem.modules.board.service.BoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -88,4 +87,106 @@ public class BoardServiceImpl implements BoardService {
return new ArrayList<>();
}
}
@Override
public String getTime() {
String date1 = DateUtils.getStringNow();
return date1;
}
@Override
public Map<String, Object> getNewScheduledTableData(int number){
Map<String, Object> map = new HashMap<>();
String date = DateUtil.getStringDate(new Date());
// String date="2022-05-22";
List<NewScheduledData> tableList =boardMapper.getNewScheduledTableList(date);
if(tableList.size()==0){
NewScheduledData tableData = new NewScheduledData();
tableData.setResourceDesc("今日未派工!");
tableList.add(tableData);
}
if(tableList.size()<=5){
map.put("rows", tableList);
map.put("num", 0);
map.put("total", tableList.size());
}else {
int max=(tableList.size()+4)/5;
if(number>=max){
number=0;
}
if((number+1)==max){
List<NewScheduledData> result=new ArrayList<>();
for (int i = 0; i +5*number< tableList.size(); i++) {
result.add(tableList.get(i +5*number));
}
map.put("rows", result);
map.put("num", number+1);
map.put("total", result.size());
}else {
List<NewScheduledData> result=new ArrayList<>();
for (int i = 0; i < 5; i++) {
result.add(tableList.get(i +5*number));
}
map.put("rows", result);
map.put("num", number+1);
map.put("total", result.size());
}
}
return map;
}
@Override
public String getRefreshTime(String boardName){
List<BoardConfigData> list = boardMapper.getRefreshTimeDefault(boardName);
if(list.size()==0){
return null;
}else {
String time = list.get(0).getValue();
return time;
}
}
@Override
public Map<String, Object> getNewScheduledData() {
Map<String, Object> map = new HashMap<>();
// List<NewScheduledData> tableList=new ArrayList<>();
String date = DateUtil.getStringDate(new Date());
// String date="2022-05-22";
PieBoardData pieData=boardMapper.getNewScheduledPieList(date);
List<NewScheduledData> barList=boardMapper.getNewScheduledBarList(date);
// tableList=boardMapper.getNewScheduledTableList(date,number);
// pieList=boardMapper.getNewScheduledPieList(date);
// barList=boardMapper.getNewScheduledBarList(date);
// map.put("tableList",tableList);
if(pieData==null){
PieBoardData pieData2 = new PieBoardData();
pieData2.setQty1(0);
pieData2.setQty2(0);
pieData2.setQty3(0);
pieData2.setQty4(0);
pieData2.setPer1(0);
pieData2.setPer2(0);
pieData2.setPer3(0);
pieData2.setPer4(0);
map.put("pieData",pieData2);
}else {
map.put("pieData",pieData);
}
// if(pieList.size()==0) {
// NewScheduledData pieData = new NewScheduledData();
// pieData.setQtyPercent(0f);
// pieData.setQtyReported(1f);
// pieData.setQtyUnReported(0f);
// pieList.add(pieData);
// }
map.put("barList",barList);
return map;
}
}

39
src/main/resources/mapper/board/BoardMapper.xml

@ -50,5 +50,44 @@
and D.Site=p.site and D.TransNo=p.orderref1
and D.ItemNo=p.orderref2 and p.status != 'Y' and p.LabelType='库存标签' and p.ComputerName =#{ip}
</select>
<select id="getNewScheduledTableList" resultType="com.jtem.modules.board.entity.NewScheduledData">
select PL.ProLineNo AS resourceId ,R.Site,isnull(Round(SUM(SR.QtyRequired),3),0) as QtyRequired,isnull(Round(SUM(SR.QtyReported),3),0) as QtyReported,isnull(Round(SUM(SR.QtyApprove),3),0) as QtyApprove,
PL.ProLineDesc as resourceDesc,isnull(Round(Round(SUM(SR.QtyRequired),3)-Round(SUM(SR.QtyReported),3),3),0) as QtyUnReported
from WorkCenter R
LEFT JOIN SOScheduledRouting SR on SR.Site=R.Site and SR.S_WorkCenterNo=R.WorkCenterNo
left join ProductionLine PL on PL.site =R.site and PL.ProLineNo=R.ProLineNo
and S_ScheduledDate=#{date}
GROUP BY PL.ProLineNo,PL.ProLineDesc,R.Site
ORDER BY PL.ProLineNo
</select>
<select id="getRefreshTimeDefault" resultType="com.jtem.modules.board.entity.BoardConfigData">
SELECT value FROM boardConfig_default
WHERE type='board_refresh' AND boardName = #{boardName}
</select>
<select id="getNewScheduledPieList" resultType="com.jtem.modules.board.entity.PieBoardData">
select Round(SUM(SR.QtyRequired),3) as qty1,Round(SUM(SR.QtyRequired),3)-Round(SUM(SR.QtyReported),3) as qty4,Round(SUM(SR.QtyApprove),3) as qty2,
Round(SUM(SR.QtyReported),3) -Round(SUM(SR.QtyApprove),3) as qty3,100 as per1,
Round(Round(SUM(SR.QtyApprove),3) *100 /case when Round(SUM(SR.QtyRequired),3) =0 then 1 else Round(SUM(SR.QtyRequired),3) end ,1) as per2,
Round((Round(SUM(SR.QtyReported),3) -Round(SUM(SR.QtyApprove),3) ) *100 /case when Round(SUM(SR.QtyRequired),3) =0 then 1 else Round(SUM(SR.QtyRequired),3) end ,1) as per3,
Round((Round(SUM(SR.QtyRequired),3) -Round(SUM(SR.QtyReported),3) ) *100 /case when Round(SUM(SR.QtyRequired),3) =0 then 1 else Round(SUM(SR.QtyRequired),3) end ,1) as per4
from SOScheduledRouting SR
where S_ScheduledDate=#{date}
</select>
<select id="getNewScheduledBarList" resultType="com.jtem.modules.board.entity.NewScheduledData">
select Round(( Isnull(Round(SUM(SR.QtyReported),3),0)/case when Isnull(Round(SUM(SR.QtyRequired),3),0)=0 then 1 else Isnull(Round(SUM(SR.QtyRequired),3),0) end )*100,1) as QtyPercent,
Round(( Isnull(Round(SUM(SR.QtyApprove),3),0)/case when Isnull(Round(SUM(SR.QtyReported),3),0)=0 then 1 else Isnull(Round(SUM(SR.QtyReported),3),0) end )*100,1) as approvePercent
,PL.ProLineNo as resourceId,PL.ProLineDesc as resourceDesc
from WorkCenter R
LEFT JOIN SOScheduledRouting SR on SR.Site=R.Site and SR.S_WorkCenterNo=R.WorkCenterNo
left join ProductionLine PL on PL.site =R.site and PL.ProLineNo=R.ProLineNo
and SR.S_ScheduledDate=#{date}
GROUP BY PL.ProLineNo,PL.ProLineDesc
ORDER BY PL.ProLineNo
</select>
</mapper>
Loading…
Cancel
Save