From 2c65c31aceb16c1d06c692266e3fb555ecafdfb5 Mon Sep 17 00:00:00 2001 From: wujian <14790700720@163.com> Date: 星期三, 23 十月 2024 09:10:47 +0800 Subject: [PATCH] change-4 --- jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java | 4 jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java | 210 +++++++++ jcdm-ui/src/views/main/da/passingStationCollection/index.vue | 33 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java | 8 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java | 1 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java | 4 jcdm-ui/src/views/main/da/followReport/report3.vue | 4 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java | 31 + jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java | 40 + jcdm-ui/src/views/dashboard/PanelGroup.vue | 32 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java | 1 jcdm-ui/src/api/main/da/paramCollection/paramCollection.js | 8 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/ProductNumVO.java | 19 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java | 1 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java | 25 + jcdm-ui/src/views/main/da/productNum/index.vue | 154 +++++++ jcdm-ui/src/views/main/bs/orderScheduling/index.vue | 102 ++- jcdm-ui/src/views/main/om/productionOrde/planStatistics.vue | 22 jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/mapper/ProductNumTableMapper.java | 15 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java | 2 jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/domain/ProductNumTable.java | 28 + jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml | 21 + jcdm-ui/src/views/main/da/followReport/report4.vue | 4 jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml | 24 + jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/ProductNumTableService.java | 13 jcdm-ui/src/views/main/om/productionOrde/index.vue | 46 + jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/mapper/DaPassingStationCollectionMapper.java | 1 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java | 44 - jcdm-main/src/main/resources/mapper/bs/beatSetting/ProductNumTableMapper.xml | 55 ++ jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java | 10 jcdm-ui/src/views/main/da/followReport/report5.vue | 4 jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/controller/BsBeatSettingController.java | 40 + jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java | 9 jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml | 21 + jcdm-ui/src/views/main/da/followReport/report1.vue | 4 jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/impl/ProductNumTableServiceImpl.java | 33 + jcdm-ui/src/views/main/da/paramCollection/index.vue | 45 + jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js | 16 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java | 23 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java | 6 jcdm-ui/src/views/main/da/followReport/report2.vue | 4 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 20 jcdm-ui/src/views/main/da/followReport/index.vue | 20 43 files changed, 1,028 insertions(+), 179 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/controller/BsBeatSettingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/controller/BsBeatSettingController.java index 56aa698..87edbcb 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/controller/BsBeatSettingController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/controller/BsBeatSettingController.java @@ -1,7 +1,17 @@ package com.jcdm.main.bs.beatSetting.controller; +import java.time.LocalDate; import java.util.List; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.util.ObjectUtil; +import com.jcdm.common.core.domain.R; +import com.jcdm.main.bs.beatSetting.domain.ProductNumTable; +import com.jcdm.main.bs.beatSetting.service.ProductNumTableService; +import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.domain.ProductNumVO; +import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,6 +44,12 @@ @Autowired private IBsBeatSettingService bsBeatSettingService; + @Resource + private ProductNumTableService productNumTableService; + + @Resource + private IDaPassingStationCollectionService daPassingStationCollectionService; + /** * 鏌ヨ鑺傛媿璁剧疆鍒楄〃 */ @@ -59,6 +75,30 @@ util.exportExcel(response, list, "鑺傛媿璁剧疆鏁版嵁"); } + + @Log(title = "鑺傛媿璁剧疆", businessType = BusinessType.EXPORT) + @PostMapping("/productNumExport") + public void productNumExport(HttpServletResponse response, DaPassingStationCollection daPassingStationCollection) + { +// LocalDate queryDate = daPassingStationCollection.getQueryDate(); +// String queryMonth = daPassingStationCollection.getQueryMonth(); +// if (ObjectUtil.isNull(queryDate) && ObjectUtil.isNull(queryMonth)){ +// return R.fail("璇烽�夋嫨鏈堜唤鎴栬�呮棩鏈�"); +// } +// if (ObjectUtil.isNotEmpty(queryMonth) && ObjectUtil.isNotEmpty(queryDate)){ +// String queryDateString = queryDate.toString(); +// String queryMonthString = queryMonth.toString(); +// if (!queryDateString.contains(queryMonthString)){ +// return R.fail("璇风‘璁ら�夋嫨鐨勬湀浠藉拰鏃ユ湡鏈堜唤鏄惁鍖归厤"); +// } +// } + List<ProductNumVO> productNum = daPassingStationCollectionService.getProductNum(daPassingStationCollection); + ExcelUtil<ProductNumVO> util = new ExcelUtil<ProductNumVO>(ProductNumVO.class); + util.exportExcel(response, productNum, "浜ч噺缁熻鏁版嵁"); + + + } + /** * 鑾峰彇鑺傛媿璁剧疆璇︾粏淇℃伅 */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/domain/ProductNumTable.java b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/domain/ProductNumTable.java new file mode 100644 index 0000000..6fa2861 --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/domain/ProductNumTable.java @@ -0,0 +1,28 @@ +package com.jcdm.main.bs.beatSetting.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jcdm.common.annotation.Excel; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +@Data +public class ProductNumTable { + + private Long id; + + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate productTime; + + private String model; + + private Integer zzOfflineNum; + + private Integer zzOnlineNum; + + private Integer hxOnlineNum; + + private Integer productNumTheory; + +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/mapper/ProductNumTableMapper.java b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/mapper/ProductNumTableMapper.java new file mode 100644 index 0000000..d9f95ac --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/mapper/ProductNumTableMapper.java @@ -0,0 +1,15 @@ +package com.jcdm.main.bs.beatSetting.mapper; + +import com.jcdm.main.bs.beatSetting.domain.ProductNumTable; + +import java.util.List; + +public interface ProductNumTableMapper { + + public void insertProductNum(List<ProductNumTable> list); + + + public void updateProductNum(ProductNumTable productNumTable); + + public List<ProductNumTable> selectProductNum(ProductNumTable productNumTable); +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/ProductNumTableService.java b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/ProductNumTableService.java new file mode 100644 index 0000000..f3ccd51 --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/ProductNumTableService.java @@ -0,0 +1,13 @@ +package com.jcdm.main.bs.beatSetting.service; + +import com.jcdm.main.bs.beatSetting.domain.ProductNumTable; + +import java.util.List; + +public interface ProductNumTableService { + + public void insertProductList(List<ProductNumTable> list); + public void updateProductNum(ProductNumTable productNumTable); + + public List<ProductNumTable> selectProductList(ProductNumTable productNumTable); +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/impl/ProductNumTableServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/impl/ProductNumTableServiceImpl.java new file mode 100644 index 0000000..e251cdf --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/beatSetting/service/impl/ProductNumTableServiceImpl.java @@ -0,0 +1,33 @@ +package com.jcdm.main.bs.beatSetting.service.impl; + +import com.jcdm.main.bs.beatSetting.domain.ProductNumTable; +import com.jcdm.main.bs.beatSetting.mapper.ProductNumTableMapper; +import com.jcdm.main.bs.beatSetting.service.ProductNumTableService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class ProductNumTableServiceImpl implements ProductNumTableService { + + @Resource + private ProductNumTableMapper productNumTableMapper; + + @Override + public void insertProductList(List<ProductNumTable> list){ + productNumTableMapper.insertProductNum(list); + } + + @Override + public void updateProductNum(ProductNumTable productNumTable) { + productNumTableMapper.updateProductNum(productNumTable); + } + + @Override + public List<ProductNumTable> selectProductList(ProductNumTable productNumTable) { + return productNumTableMapper.selectProductNum(productNumTable); + } + + +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java index 611d3af..bb18be3 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java @@ -156,9 +156,9 @@ WriteSheet sheet1 = EasyExcel.writerSheet(1, "鎷х揣鏁版嵁") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); - WriteSheet sheet2 = EasyExcel.writerSheet(2, "鐩告満妫�娴�") - .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) - .build(); +// WriteSheet sheet2 = EasyExcel.writerSheet(2, "鐩告満妫�娴�") +// .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) +// .build(); WriteSheet sheet3 = EasyExcel.writerSheet(3, "澶栨紡妫�娴�") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); @@ -170,7 +170,7 @@ .build(); excelWriter.write(followReportList.getMainList(),mainSheet); excelWriter.write(followReportList.getList1(),sheet1); - excelWriter.write(followReportList.getList2(),sheet2); +// excelWriter.write(followReportList.getList2(),sheet2); excelWriter.write(followReportList.getList3(),sheet3); excelWriter.write(followReportList.getList4(),sheet4); excelWriter.write(followReportList.getList5(),sheet5); diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java index 5e67680..58b3798 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java @@ -73,106 +73,86 @@ private String model; /** 鐢熶骇鐘舵�� */ - @Excel(name = "鐢熶骇鐘舵��") private String productionStatus; @ExcelProperty(value = "鐢熶骇鐘舵��", index = 4) private String productionStatusString; /** 宸ユ椂 */ - @Excel(name = "宸ユ椂") - @ExcelProperty(value = "宸ユ椂", index = 5) + @ExcelIgnore private String workingHours; @TableField(exist = false) private Integer workingHoursInt; /** 褰撳墠宸ヤ綅 */ - @Excel(name = "褰撳墠宸ヤ綅") - @ExcelProperty(value = "褰撳墠宸ヤ綅", index = 6) + @ExcelIgnore private String currentWorkstation; /** 璐ㄩ噺鐘舵�� */ - @Excel(name = "璐ㄩ噺鐘舵��") - @ExcelProperty(value = "璐ㄩ噺鐘舵��", index = 7) + @ExcelProperty(value = "璐ㄩ噺鐘舵��", index = 5) private String qualityStatus; /** 鏄惁鎵撳嵃 */ - @Excel(name = "鏄惁鎵撳嵃") private String whetherOrPrint; /** 10鎶ュ伐 */ - @Excel(name = "10鎶ュ伐") @ExcelIgnore private String report10; /** 20鎶ュ伐 */ - @Excel(name = "20鎶ュ伐") @ExcelIgnore private String report20; /** 鍚堢涓婄嚎 */ - @Excel(name = "鍚堢涓婄嚎") @ExcelIgnore private String combinedBoxTime; /** 鎬昏涓嬬嚎 */ - @Excel(name = "鎬昏涓嬬嚎") @ExcelIgnore private String finalAssemblyTime; /** 鎿嶄綔浜� */ - @Excel(name = "鎿嶄綔浜�") - @ExcelProperty(value = "鎿嶄綔浜�", index = 14) + @ExcelProperty(value = "鎿嶄綔浜�", index = 10) private String operator; /** 鎿嶄綔鏃堕棿 */ - @Excel(name = "鎿嶄綔鏃堕棿") - @ExcelProperty(value = "鎿嶄綔鏃堕棿", index = 15) + @ExcelProperty(value = "鎿嶄綔鏃堕棿", index = 11) private String operateTime; /** 鐘舵�� */ - @Excel(name = "鐘舵��") @ExcelIgnore private String status; /** 棰勭暀瀛楁1 */ - @Excel(name = "棰勭暀瀛楁1") @ExcelIgnore private String spareField1; /** 棰勭暀瀛楁2 */ - @Excel(name = "棰勭暀瀛楁2") @ExcelIgnore private String spareField2; /** 棰勭暀瀛楁3 */ - @Excel(name = "棰勭暀瀛楁3") @ExcelIgnore private String spareField3; /** 棰勭暀瀛楁4 */ - @Excel(name = "棰勭暀瀛楁4") @ExcelIgnore private String spareField4; /** 鍒涘缓鐢ㄦ埛 */ - @Excel(name = "鍒涘缓鐢ㄦ埛") @ExcelIgnore private String createUser; /** 鏇存敼鐢ㄦ埛 */ - @Excel(name = "鏇存敼鐢ㄦ埛") @ExcelIgnore private String updateUser; /** 澶囨敞 */ - @Excel(name = "澶囨敞") @ExcelIgnore private String remarks; /** CVT鎶ュ伐 */ - @Excel(name = "CVT鎶ュ伐") @ExcelIgnore private String report30; @@ -187,42 +167,40 @@ /** 鍚堢涓婄嚎鏃堕棿 */ @Excel(name = "鍚堢涓婄嚎鏃堕棿") - @ExcelProperty(value = "鍚堢涓婄嚎鏃堕棿", index = 8) + @ExcelProperty(value = "鍚堢涓婄嚎鏃堕棿", index = 6) @com.alibaba.excel.annotation.format.DateTimeFormat("yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date boxClosingOnlineTime; /** 鍚堢涓嬬嚎鏃堕棿 */ @Excel(name = "鍚堢涓嬬嚎鏃堕棿") - @ExcelProperty(value = "鍚堢涓嬬嚎鏃堕棿", index = 9) + @ExcelProperty(value = "鍚堢涓嬬嚎鏃堕棿", index = 7) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date closingBoxOfflineTime; /** 鎬昏涓婄嚎鏃堕棿 */ @Excel(name = "鎬昏涓婄嚎鏃堕棿") - @ExcelProperty(value = "鎬昏涓婄嚎鏃堕棿", index =10) + @ExcelProperty(value = "鎬昏涓婄嚎鏃堕棿", index =8) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date finalAssemblyLaunchTime; /** 鎬昏涓嬬嚎鏃堕棿 */ @Excel(name = "鎬昏涓嬬嚎鏃堕棿") - @ExcelProperty(value = "鎬昏涓嬬嚎鏃堕棿", index = 11) + @ExcelProperty(value = "鎬昏涓嬬嚎鏃堕棿", index = 9) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date finalAssemblyOfflineTime; /** CVT涓婄嚎鏃堕棿 */ - @Excel(name = "CVT涓婄嚎鏃堕棿") - @ExcelProperty(value = "CVT涓婄嚎鏃堕棿", index = 12) + @ExcelIgnore @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date cvtLaunchTime; /** CVT涓嬬嚎鏃堕棿 */ - @Excel(name = "CVT涓嬬嚎鏃堕棿") - @ExcelProperty(value = "CVT涓嬬嚎鏃堕棿", index = 13) + @ExcelIgnore @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date cvtOfflineTime; diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java index e5d5adc..2b11e94 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java @@ -2,7 +2,10 @@ import com.jcdm.main.bs.orderScheduling.Query.PrepareOnlineQuery; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; +import com.jcdm.main.da.passingStationCollection.domain.ProductNumVO; +import org.apache.ibatis.annotations.Param; +import java.time.LocalDate; import java.util.List; /** @@ -36,6 +39,7 @@ * @return 璁㈠崟鎺掍骇闆嗗悎 */ public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling); + public List<BsOrderScheduling> selectBsOrderSchedulingListForNum(@Param("queryDate") String queryDate,@Param("addQueryDate") String addQueryDate); public List<BsOrderScheduling> selectBsOrderSchedulingPage(BsOrderScheduling bsOrderScheduling); @@ -81,4 +85,6 @@ * @return 缁撴灉 */ public int deleteBsOrderSchedulingByIds(Long[] ids); + + public List<ProductNumVO> getProductNum(@Param("queryDate") String queryDate,@Param("addQueryDate") String addQueryDate); } diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java index 38642c0..98d5a67 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java @@ -36,6 +36,7 @@ * @return 璁㈠崟鎺掍骇闆嗗悎 */ public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling); + public List<BsOrderScheduling> selectBsOrderSchedulingListForNum(); public List<BsOrderScheduling> selectBsOrderSchedulingPage(BsOrderScheduling bsOrderScheduling); public FollowReportVO getFollowReportList(BsOrderScheduling bsOrderScheduling); public List<LineChartVO> getOffLineNum(); diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java index ee68208..a6534b3 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java @@ -92,6 +92,15 @@ } @Override + public List<BsOrderScheduling> selectBsOrderSchedulingListForNum() { + LocalDate today = LocalDate.now(); + LocalDate localDate = today.plusDays(1); + String queryDate = today.toString(); + String addQueryDate = localDate.toString(); + return bsOrderSchedulingMapper.selectBsOrderSchedulingListForNum(queryDate,addQueryDate); + } + + @Override public List<BsOrderScheduling> selectBsOrderSchedulingPage(BsOrderScheduling bsOrderScheduling) { if(bsOrderScheduling.getDateConditions()!=null){ @@ -120,16 +129,26 @@ List<DaPassingStationCollection> collect5 = new ArrayList<>(); if (CollUtil.isNotEmpty(engineNoList)){ allChildList = daParamCollectionMapper.getListBySfcCode(engineNoList); - collect5 = daPassingStationCollectionMapper.getListBySfcCode(engineNoList); + List<DaPassingStationCollection> tempCollect = daPassingStationCollectionMapper.getListBySfcCode(engineNoList); + if (engineNoList.size()>1){ + List<DaPassingStationCollection> outCollect = new ArrayList<>(); + engineNoList.forEach(engineNo -> { + List<DaPassingStationCollection> collect = tempCollect.stream().filter(x -> engineNo.equals(x.getSfcCode())).collect(Collectors.toList()); + outCollect.addAll(collect); + }); + collect5 = outCollect; + } else { + collect5 = tempCollect; + } } if (CollUtil.isNotEmpty(allChildList)){ //鎷垮埌鎵�鏈夊瓙鏁版嵁 List<DaParamCollection> collect1 = allChildList.stream().filter(x -> Constants.DATA1.equals(x.getType())).collect(Collectors.toList()); - List<DaParamCollection> collect2 = allChildList.stream().filter(x -> Constants.DATA2.equals(x.getType())).collect(Collectors.toList()); +// List<DaParamCollection> collect2 = allChildList.stream().filter(x -> Constants.DATA2.equals(x.getType())).collect(Collectors.toList()); List<DaParamCollection> collect3 = allChildList.stream().filter(x -> Constants.DATA3.equals(x.getType())).collect(Collectors.toList()); List<DaParamCollection> collect4 = allChildList.stream().filter(x -> Constants.DATA4.equals(x.getType())).collect(Collectors.toList()); vo.setList1(collect1); - vo.setList2(collect2); +// vo.setList2(collect2); vo.setList3(collect3); vo.setList4(collect4); } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java index cd73dbd..5165166 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java @@ -1,5 +1,6 @@ package com.jcdm.main.da.paramCollection.controller; +import java.time.LocalTime; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -48,6 +49,14 @@ return getDataTable(list); } + @GetMapping("/queryDaParamCollectionListForSearch") + public TableDataInfo queryDaParamCollectionListForSearch(DaParamCollection daParamCollection) + { + startPage(); + List<DaParamCollection> list = daParamCollectionService.queryDaParamCollectionListForSearch(daParamCollection); + return getDataTable(list); + } + /** * 瀵煎嚭璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃 */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java index 62696e3..e966bb3 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java @@ -27,6 +27,7 @@ * @return 璁惧浜у搧杩囩▼鍙傛暟閲囬泦闆嗗悎 */ public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection); + public List<DaParamCollection> queryDaParamCollectionListForSearch(DaParamCollection daParamCollection); public List<DaParamCollection> getListBySfcCode(@Param("engineNoList") List<String> engineNoList); diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java index 3ca879f..2305da1 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java @@ -27,6 +27,7 @@ * @return 璁惧浜у搧杩囩▼鍙傛暟閲囬泦闆嗗悎 */ public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection); + public List<DaParamCollection> queryDaParamCollectionListForSearch(DaParamCollection daParamCollection); /** * 鏂板璁惧浜у搧杩囩▼鍙傛暟閲囬泦 diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java index 0ab83b0..959a680 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java @@ -61,6 +61,16 @@ return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection); } + @Override + public List<DaParamCollection> queryDaParamCollectionListForSearch(DaParamCollection daParamCollection) { + if(daParamCollection.getDateConditions()!=null){ + String[] conditions = daParamCollection.getDateConditions(); + daParamCollection.setStartTime(conditions[0]); + daParamCollection.setEndTime(conditions[1]); + } + return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection); + } + /** * 鏂板璁惧浜у搧杩囩▼鍙傛暟閲囬泦 * diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java index 9b4f3fc..c5d5a36 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java @@ -1,5 +1,6 @@ package com.jcdm.main.da.passingStationCollection.controller; +import cn.hutool.core.util.ObjectUtil; import com.jcdm.common.annotation.Log; import com.jcdm.common.core.controller.BaseController; import com.jcdm.common.core.domain.AjaxResult; @@ -9,6 +10,7 @@ import com.jcdm.common.utils.DateUtils; import com.jcdm.common.utils.poi.ExcelUtil; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.domain.ProductNumVO; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import com.jcdm.main.da.passingStationCollection.service.impl.DaPassingStationCollectionServiceImpl; import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; @@ -18,6 +20,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; import java.util.List; /** @@ -47,6 +50,15 @@ List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionList(daPassingStationCollection); return getDataTable(list); } + + @GetMapping("/selectDaPassingStationCollectionForSearch") + public TableDataInfo selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection) + { + startPage(); + List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionForSearch(daPassingStationCollection); + return getDataTable(list); + } + @GetMapping("/getTopProcess") public TableDataInfo getTopProcess() @@ -152,4 +164,23 @@ // } // return passingStationCollectionServiceImpl.sendMessage(message); // } + + + @GetMapping("/getProductNum") + public R getProductNum(DaPassingStationCollection daPassingStationCollection){ + LocalDate queryDate = daPassingStationCollection.getQueryDate(); + String queryMonth = daPassingStationCollection.getQueryMonth(); + if (ObjectUtil.isNull(queryDate) && ObjectUtil.isNull(queryMonth)){ + return R.fail("璇烽�夋嫨鏈堜唤鎴栬�呮棩鏈�"); + } + if (ObjectUtil.isNotEmpty(queryMonth) && ObjectUtil.isNotEmpty(queryDate)){ + String queryDateString = queryDate.toString(); + String queryMonthString = queryMonth.toString(); + if (!queryDateString.contains(queryMonthString)){ + return R.fail("璇风‘璁ら�夋嫨鐨勬湀浠藉拰鏃ユ湡鏈堜唤鏄惁鍖归厤"); + } + } + List<ProductNumVO> productNum = daPassingStationCollectionService.getProductNum(daPassingStationCollection); + return R.ok(productNum); + } } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java index d5a6b59..c475777 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java @@ -1,5 +1,6 @@ package com.jcdm.main.da.passingStationCollection.domain; +import java.time.LocalDate; import java.util.Date; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; @@ -51,17 +52,15 @@ /** 浜у搧缂栧彿 */ @Excel(name = "浜у搧缂栧彿") - @ExcelProperty(value = "浜у搧缂栧彿", index = 2) private String productCode; /** 浜х嚎缂栧彿 */ @Excel(name = "浜х嚎缂栧彿") - @ExcelProperty(value = "浜х嚎缂栧彿", index = 3) private String productionLine; /** 宸ヤ綅缂栧彿 */ @Excel(name = "宸ヤ綅缂栧彿") - @ExcelProperty(value = "宸ヤ綅缂栧彿", index = 4) + @ExcelProperty(value = "宸ヤ綅缂栧彿", index = 2) private String locationCode; /** 璁惧缂栧彿 */ @@ -73,7 +72,7 @@ @Excel(name = "鍏ョ珯鏃堕棿") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ExcelProperty(value = "鍏ョ珯鏃堕棿", index = 5) + @ExcelProperty(value = "鍏ョ珯鏃堕棿", index = 3) private Date inboundTime; /** 鍑虹珯鏃堕棿 */ @@ -81,7 +80,7 @@ @Excel(name = "鍑虹珯鏃堕棿") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ExcelProperty(value = "鍑虹珯鏃堕棿", index = 6) + @ExcelProperty(value = "鍑虹珯鏃堕棿", index = 4) private Date outboundTime; @TableField(exist = false) @@ -100,12 +99,11 @@ /** 鍑虹珯鏄惁鍚堟牸 */ @Excel(name = "鍑虹珯鏄惁鍚堟牸") - @ExcelProperty(value = "鏄惁鍚堟牸", index = 7) + @ExcelProperty(value = "鏄惁鍚堟牸", index = 5) private String outRsSign; /** 鍑虹珯NG鍘熷洜 */ @Excel(name = "鍑虹珯NG鍘熷洜") - @ExcelProperty(value = "NG鍘熷洜", index = 8) private String outMsgSign; /** 閲囬泦鏃堕棿 */ @@ -113,7 +111,7 @@ @Excel(name = "閲囬泦鏃堕棿") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ExcelProperty(value = "閲囬泦鏃堕棿", index = 9) + @ExcelProperty(value = "閲囬泦鏃堕棿", index = 6) private Date collectionTime; /** 棰勭暀瀛楁1 */ @@ -130,7 +128,6 @@ /** 鑺傛媿鏃堕棿 */ @Excel(name = "鑺傛媿鏃堕棿") - @ExcelProperty(value = "鑺傛媿鏃堕棿", index = 10) private String beatTime; @TableField(exist = false) @@ -138,6 +135,14 @@ private Long[] ids; + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate queryDate; + + + @TableField(exist = false) + private String queryMonth; public Long[] getIds() { return ids; } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/ProductNumVO.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/ProductNumVO.java new file mode 100644 index 0000000..9b457e9 --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/ProductNumVO.java @@ -0,0 +1,19 @@ +package com.jcdm.main.da.passingStationCollection.domain; + +import com.jcdm.common.annotation.Excel; +import lombok.Data; + +@Data +public class ProductNumVO { + + @Excel(name = "鏃ユ湡") + private String queryDate; + + @Excel(name = "鏈哄瀷") + private String model; + + @Excel(name = "浜ч噺") + private Integer num; + + +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/mapper/DaPassingStationCollectionMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/mapper/DaPassingStationCollectionMapper.java index a6b0321..b92e047 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/mapper/DaPassingStationCollectionMapper.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/mapper/DaPassingStationCollectionMapper.java @@ -29,6 +29,7 @@ * @return 浜у搧杩囩珯閲囬泦闆嗗悎 */ public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); + public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection); public List<DaPassingStationCollection> getListBySfcCode(@Param("engineNoList") List<String> engineNoList); diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java index 44733b3..1bce033 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java @@ -2,6 +2,7 @@ import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.domain.ProductNumVO; import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; import java.util.List; @@ -29,6 +30,7 @@ * @return 浜у搧杩囩珯閲囬泦闆嗗悎 */ public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); + public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection); public List<DaPassingStationVO> getTopProcess(DaPassingStationCollection daPassingStationCollection); @@ -80,4 +82,6 @@ * @return 缁撴灉 */ public String SelectSN(String SNcode,String node); + + public List<ProductNumVO> getProductNum(DaPassingStationCollection daPassingStationCollection); } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java index 617d31a..dc2def0 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSONObject; +import com.jcdm.common.core.domain.R; import com.jcdm.common.utils.DateUtils; import com.jcdm.common.utils.StringUtils; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.domain.ProductNumVO; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; @@ -69,6 +71,11 @@ public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection) { return daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); + } + + @Override + public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection) { + return daPassingStationCollectionMapper.selectDaPassingStationCollectionForSearch(daPassingStationCollection); } @Override @@ -251,6 +258,39 @@ } } + @Override + public List<ProductNumVO> getProductNum(DaPassingStationCollection daPassingStationCollection) { + String queryMonth = daPassingStationCollection.getQueryMonth(); + LocalDate queryLocalDate = daPassingStationCollection.getQueryDate(); + if (ObjectUtil.isNotEmpty(queryLocalDate)){ + LocalDate addQueryLocalDate = queryLocalDate.plusDays(1); + String queryDate = queryLocalDate.toString(); + String addQueryDate = addQueryLocalDate.toString(); + List<ProductNumVO> productNum = bsOrderSchedulingMapper.getProductNum(queryDate, addQueryDate); + if (CollUtil.isNotEmpty(productNum)){ + productNum.forEach(x -> { + x.setQueryDate(queryDate); + }); + } + return productNum; + } else if (ObjectUtil.isNull(queryLocalDate) && ObjectUtil.isNotNull(queryMonth)){ + //鎸夋湀浠芥煡璇� + String s = queryMonth + "-01"; + LocalDate parse = LocalDate.parse(s); + LocalDate localDate = parse.plusMonths(1); + String queryDate = parse.toString(); + String addQueryDate = localDate.toString(); + List<ProductNumVO> productNum = bsOrderSchedulingMapper.getProductNum(queryDate, addQueryDate); + if (CollUtil.isNotEmpty(productNum)){ + productNum.forEach(x -> { + x.setQueryDate(queryMonth); + }); + } + return productNum; + } + return new ArrayList<ProductNumVO>(); + } + // public String sendMessage(String message) throws Exception{ // Map<String,Object> map = new HashMap<>(); // diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java index b02c730..c143f10 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java +++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java @@ -139,11 +139,9 @@ /** 淇敼浜� */ - @Excel(name = "淇敼浜�") private String updateUser; /** 澶囨敞 */ - @Excel(name = "澶囨敞") private String remarks; /** 娴佹按鍙� */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java index dc7df46..08a6d69 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java @@ -1,5 +1,7 @@ package com.jcdm.main.plcserver.conf; +import java.time.LocalDateTime; + /** * @ClassName: OPCElement * @Description: PC鍜孭LC閫氫俊浣跨敤鐨凮PCserver涓婄殑鏍囪鍚嶇О鍒楄〃 @@ -32,7 +34,7 @@ public static final String OP120_ZZ_CODE_CHECK = OP120_ITEM_ZZ + "CodeCheck";//璇锋眰淇濆瓨 public static final String OP060_HX_CODE_CHECK = OP060_ITEM_ZZ + "CodeCheck";//璇锋眰淇濆瓨 public static final String OP020_HX_CODE_CHECK = OP020_ITEM_HX + "CodeCheck";//璇锋眰淇濆瓨 - public static final String OP121_ZZ_CODE_CHECK = OP121_ITEM_ZZ + "CodeCheckFeed";//璇锋眰淇濆瓨 + public static final String OP121_ZZ_CODE_CHECK = OP120_ITEM_ZZ + "CodeCheckFeed";//璇锋眰淇濆瓨 public static final String OP050_HX_CODE_CHECK = "CFL4HX.OP050.CodeCheck";//璇锋眰淇濆瓨 //杩斾慨鐩戝惉鐐逛綅-465 diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java index c0d63d8..3b3b98f 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java @@ -316,6 +316,23 @@ } logger.info("-----杩斿洖codeCheckFeed-----,{}",a); // String a="1"; + //zz涓婄嚎宸ヤ綅鏌ヨhx绾挎槸鍚﹁繃绔欏悎鏍� + if (OPCElement.OP120_ZZ_CODE_CHECK.equals(Node)){ + //杩囩珯璁板綍 + DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); + PassingStationCollection.setSfcCode(SNCode); + PassingStationCollection.setLocationCode("OP160"); + List<DaPassingStationCollection> ZZOP120PassCheck = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(PassingStationCollection); + if (CollUtil.isEmpty(ZZOP120PassCheck)){ + a = ""; + } else { + DaPassingStationCollection passingStationCollection = ZZOP120PassCheck.get(0); + String outRsSign = passingStationCollection.getOutRsSign(); + if (!OPCElement.QUALIFIED.equals(outRsSign)){ + a = ""; + } + } + } // 1:OK鍙敓浜� 2:NG涓嶅彲鐢熶骇 3:NG鍙繑宸� 4:PC妫�绱㈠け璐ワ紙鏃犺褰曪級5:PC妫�绱㈠け璐ワ紙杞欢锛� if (StrUtil.isNotBlank(a)){ int input = Integer.parseInt(a); @@ -621,7 +638,7 @@ ParamCollection.setParamValue(readWriteEntityList.get(i).getValue().toString()); } ParamCollection.setSfcCode(SNCode); - ParamCollection.setParamName(list.get(i).getCollectParameterName()); + ParamCollection.setParamName(list.get(i).getParameterSetName()); ParamCollection.setParamUpper(list.get(i).getParamUpper()); ParamCollection.setParamLower(list.get(i).getParamLower()); ParamCollection.setUnit(list.get(i).getCollectParameterUnit()); @@ -654,6 +671,7 @@ } DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); PassingStationCollection.setSfcCode(SNCode); + PassingStationCollection.setProductCode(bsOrderScheduling.getModel()); PassingStationCollection.setLocationCode(parts[1]); PassingStationCollection.setOutboundTime(new Date()); PassingStationCollection.setInboundTime(new Date(new Date().getTime()-beatTime*1000)); diff --git a/jcdm-main/src/main/resources/mapper/bs/beatSetting/ProductNumTableMapper.xml b/jcdm-main/src/main/resources/mapper/bs/beatSetting/ProductNumTableMapper.xml new file mode 100644 index 0000000..030a6fd --- /dev/null +++ b/jcdm-main/src/main/resources/mapper/bs/beatSetting/ProductNumTableMapper.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.jcdm.main.bs.beatSetting.mapper.ProductNumTableMapper"> + + <resultMap type="ProductNumTable" id="ProductNumTableResult"> + <result property="id" column="id" /> + <result property="zzOfflineNum" column="zz_offline_num" /> + <result property="zzOnlineNum" column="zz_online_num" /> + <result property="hxOnlineNum" column="hx_online_num" /> + <result property="productTime" column="product_time" /> + <result property="model" column="model" /> + <result property="productNumTheory" column="product_num_theory" /> + </resultMap> + + <sql id="selectProductNumVo"> + select id, zz_offline_num, zz_online_num, hx_online_num, product_time, model from product_num_table + </sql> + + <insert id="insertProductNum"> + INSERT INTO product_num_table (id, zz_offline_num,zz_online_num,hx_online_num,product_time,model,product_num_theory ) + VALUES + <foreach collection="list" item="item" index="index" separator=","> + (#{item.id}, #{item.zzOfflineNum}, #{item.zzOnlineNum}, #{item.hxOnlineNum}, #{item.productTime},#{item.model},#{item.productNumTheory}) + </foreach> + </insert> + + <update id="updateProductNum"> + update product_num_table + <trim prefix="SET" suffixOverrides=","> + <if test="zzOfflineNum != null">zz_offline_num = #{zzOfflineNum},</if> + <if test="zzOnlineNum != null">zz_online_num = #{zzOnlineNum},</if> + <if test="hxOnlineNum != null ">hx_online_num = #{hxOnlineNum},</if> + <if test="productTime != null">product_time = #{productTime},</if> + <if test="model != null and model != ''">model = #{model},</if> + <if test="productNumTheory != null">product_num_theory = #{productNumTheory},</if> + </trim> + where id = #{id} + </update> + + + <select id="selectProductNum" parameterType="ProductNumTable" resultMap="ProductNumTableResult"> + <include refid="selectProductNumVo"/> + <where> + <if test="id != null and id != ''"> and id = #{id}</if> + <if test="zzOfflineNum != null and zzOfflineNum != ''"> and zz_offline_num = #{zzOfflineNum}</if> + <if test="zzOnlineNum != null and zzOnlineNum != ''"> and zz_online_num = #{zzOnlineNum}</if> + <if test="hxOnlineNum != null and hxOnlineNum != ''"> and hx_online_num = #{hxOnlineNum}</if> + <if test="productTime != null "> and product_time = #{productTime}</if> + <if test="model != null and model != ''"> and model = #{model}</if> + </where> + </select> + +</mapper> \ No newline at end of file diff --git a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml index 80d7ebf..775f73b 100644 --- a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml +++ b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml @@ -172,6 +172,28 @@ select count(*) from bs_order_scheduling where ${queryField} BETWEEN #{startTime} AND #{endTime} </select> + <select id="getProductNum" resultType="com.jcdm.main.da.passingStationCollection.domain.ProductNumVO"> + SELECT model,count(*) as num FROM bs_order_scheduling + <where> + <if test="queryDate != null and queryDate != ''"> + final_assembly_offline_time between #{queryDate} and #{addQueryDate} + </if> + </where> + GROUP BY model + </select> + + <select id="selectBsOrderSchedulingListForNum" + parameterType="BsOrderScheduling" resultMap="BsOrderSchedulingResult"> + select model,final_assembly_offline_time,final_assembly_launch_time,box_closing_online_time + from bs_order_scheduling + <where> + <if test="queryDate != null and queryDate != ''"> + final_assembly_offline_time between #{queryDate} and #{addQueryDate} + or final_assembly_launch_time between #{queryDate} and #{addQueryDate} + or box_closing_online_time between #{queryDate} and #{addQueryDate} + </if> + </where> + </select> <insert id="insertBsOrderScheduling" parameterType="BsOrderScheduling" useGeneratedKeys="true" keyProperty="id"> @@ -297,4 +319,6 @@ #{id} </foreach> </delete> + + </mapper> \ No newline at end of file diff --git a/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml index 03caf9a..032d1f6 100644 --- a/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml +++ b/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml @@ -35,6 +35,27 @@ select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, param_code, param_value, param_upper, param_lower, param_standard, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, state, param_name, unit, type, repair_flag from da_param_collection </sql> + <sql id="queryDaParamCollectionForSearch"> + select id, work_order_no, sfc_code, product_code, location_code, param_code, param_value, param_upper, param_lower, collection_time, state, param_name, unit, type from da_param_collection + </sql> + + <select id="queryDaParamCollectionListForSearch" parameterType="DaParamCollection" resultMap="DaParamCollectionResult"> + <include refid="queryDaParamCollectionForSearch"/> + <where> + <if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if> + <if test="type != null and type != ''"> and type = #{type}</if> + <if test="sfcCode != null and sfcCode != ''"> and sfc_code = #{sfcCode}</if> + <if test="productCode != null and productCode != ''"> and product_code = #{productCode}</if> + <if test="productionLine != null and productionLine != ''"> and production_line = #{productionLine}</if> + <if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if> + <if test="equipmentNo != null and equipmentNo != ''"> and equipment_no = #{equipmentNo}</if> + <if test="paramCode != null and paramCode != ''"> and param_code = #{paramCode}</if> + <if test="paramValue != null and paramValue != ''"> and param_value = #{paramValue}</if> + <if test="dateConditions != null and dateConditions != ''"> and collection_time BETWEEN #{startTime} AND #{endTime}</if> + </where> + ORDER BY id DESC + </select> + <select id="selectDaParamCollectionList" parameterType="DaParamCollection" resultMap="DaParamCollectionResult"> <include refid="selectDaParamCollectionVo"/> <where> diff --git a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml index 8e77ca2..2888fd5 100644 --- a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml +++ b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml @@ -33,6 +33,27 @@ select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, inbound_time, outbound_time, in_rs_sign, in_msg_sign, out_rs_sign, out_msg_sign, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, beat_time, repair_flag from da_passing_station_collection </sql> + <sql id="selectDaPassingStationCollectionForSearch"> + select id, work_order_no, sfc_code, product_code, location_code, inbound_time, outbound_time, out_rs_sign, collection_time from da_passing_station_collection + </sql> + + <select id="selectDaPassingStationCollectionForSearch" parameterType="DaPassingStationCollection" resultMap="DaPassingStationCollectionResult"> + <include refid="selectDaPassingStationCollectionForSearch"/> + <where> + <if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if> + <if test="sfcCode != null and sfcCode != ''"> and sfc_code = #{sfcCode}</if> + <if test="productCode != null and productCode != ''"> and product_code = #{productCode}</if> + <if test="productionLine != null and productionLine != ''"> and production_line = #{productionLine}</if> + <if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if> + <if test="equipmentNo != null and equipmentNo != ''"> and equipment_no = #{equipmentNo}</if> + <if test="inboundTime != null "> and CAST(inbound_time as DATE) = #{inboundTime}</if> + <if test="outboundTime != null "> and CAST(outbound_time as DATE) = #{outboundTime}</if> + <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if> + <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if> + <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> and outbound_time between #{startTime} and #{endTime}</if> + </where> + </select> + <select id="selectDaPassingStationCollectionList" parameterType="DaPassingStationCollection" resultMap="DaPassingStationCollectionResult"> <include refid="selectDaPassingStationCollectionVo"/> <where> diff --git a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java index d729ce6..5d0b1fc 100644 --- a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java +++ b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java @@ -1,6 +1,12 @@ package com.jcdm.quartz.task; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.jcdm.main.bs.beatSetting.domain.BsBeatSetting; +import com.jcdm.main.bs.beatSetting.domain.ProductNumTable; +import com.jcdm.main.bs.beatSetting.service.IBsBeatSettingService; +import com.jcdm.main.bs.beatSetting.service.ProductNumTableService; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; @@ -15,8 +21,11 @@ import org.slf4j.LoggerFactory; import javax.annotation.Resource; -import java.util.List; -import java.util.Map; +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.*; import java.util.stream.Collectors; /** @@ -34,6 +43,12 @@ @Resource private OmProductionOrdeInfoServiceImpl omProductionOrdeInfoService; + + @Resource + private IBsBeatSettingService bsBeatSettingService; + + @Resource + private ProductNumTableService productNumTableService; private static final Logger logger = LoggerFactory.getLogger("sys-user"); @@ -87,6 +102,7 @@ public void workReportingTasks(){ report10(); report20(); + updateProductNum(); } public void report10(){ @@ -171,6 +187,196 @@ } } + public void updateProductNum(){ + LocalDate now = LocalDate.now(); + ProductNumTable productNumTableQuery = new ProductNumTable(); + productNumTableQuery.setProductTime(now); + //宸插瓨鍦ㄧ殑缁熻鏁版嵁 + List<ProductNumTable> productNumTableList = productNumTableService.selectProductList(productNumTableQuery); + String actModel; + //鑾峰彇褰撳ぉ鎵�鏈夌敓浜ф暟鎹� + List<BsOrderScheduling> bsOrderSchedulingList = bsOrderSchedulingService.selectBsOrderSchedulingListForNum(); + if (CollUtil.isNotEmpty(bsOrderSchedulingList)){ + List<BsOrderScheduling> tempList = bsOrderSchedulingList.stream() + .filter(x -> ObjectUtil.isNotNull(x.getFinalAssemblyOfflineTime())) + .collect(Collectors.toList()); + List<BsOrderScheduling> collect2 = tempList.stream() + .sorted(Comparator.comparing(BsOrderScheduling::getFinalAssemblyOfflineTime).reversed()) + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect2)){ + BsOrderScheduling bsOrderScheduling = collect2.get(0); + actModel = bsOrderScheduling.getModel(); + } else { + actModel = null; + } + List<String> modelList = tempList.stream().map(BsOrderScheduling::getModel).distinct().collect(Collectors.toList()); + Integer modelNum = 0; + if (CollUtil.isNotEmpty(modelList)){ + modelNum = modelList.size(); + } + Integer productNumTheory = caculateProductNumTheory(actModel, now, modelNum); + List<ProductNumTable> saveDate = new ArrayList<>(); + Map<String, List<BsOrderScheduling>> collect = bsOrderSchedulingList.stream().collect(Collectors.groupingBy(BsOrderScheduling::getModel)); + for (String s : collect.keySet()) { + + List<BsOrderScheduling> bsOrderSchedulingList1 = collect.get(s); + //鍚堢涓婄嚎 + long count1 = bsOrderSchedulingList1.stream().filter(x -> ObjectUtil.isNotNull(x.getBoxClosingOnlineTime())).count(); + //鎬昏涓婄嚎 + long count2 = bsOrderSchedulingList1.stream().filter(x -> ObjectUtil.isNotNull(x.getFinalAssemblyLaunchTime())).count(); + //鎬昏涓嬬嚎 + long count3 = bsOrderSchedulingList1.stream().filter(x -> ObjectUtil.isNotNull(x.getFinalAssemblyOfflineTime())).count(); + //妫�鏌ュ垽鏂槸鏇存柊杩樻槸鎻掑叆 + List<ProductNumTable> collect1 = productNumTableList.stream().filter(x -> s.equals(x.getModel())).collect(Collectors.toList()); + if (CollUtil.isEmpty(collect1)){ + //鎻掑叆 + ProductNumTable productNumTable = new ProductNumTable(); + UUID uuid = UUID.randomUUID(); + productNumTable.setId(uuid.getMostSignificantBits()); + productNumTable.setModel(s); + productNumTable.setHxOnlineNum((int) count1); + productNumTable.setZzOnlineNum((int) count2); + productNumTable.setZzOfflineNum((int) count3); + productNumTable.setProductTime(now); + productNumTable.setProductNumTheory(productNumTheory); + saveDate.add(productNumTable); + } else { + //鏇存柊 + //鍒ゆ柇鏄惁闇�瑕佹洿鏂� + ProductNumTable productNumTable = collect1.get(0); + Integer hxOnlineNum = productNumTable.getHxOnlineNum(); + Integer zzOnlineNum = productNumTable.getZzOnlineNum(); + Integer zzOfflineNum = productNumTable.getZzOfflineNum(); + if (!hxOnlineNum.equals((int)count1) || !zzOnlineNum.equals((int) count2) || !zzOfflineNum.equals((int)count3)){ + //鏇存柊 + productNumTable.setHxOnlineNum((int) count1); + productNumTable.setZzOnlineNum((int) count2); + productNumTable.setZzOfflineNum((int) count3); + productNumTable.setProductNumTheory(productNumTheory); + productNumTableService.updateProductNum(productNumTable); + } + } + } + if (CollUtil.isNotEmpty(saveDate)){ + productNumTableService.insertProductList(saveDate); + } + } + + + + } + + private Integer caculateProductNumTheory(String actModel, LocalDate now,Integer modelNum) { + long l = System.currentTimeMillis(); + System.out.println("寮�濮嬶細----"+l); + //璁$畻鎬讳骇閲忔暟鎹� + String beat = ""; + List<BsBeatSetting> bsBeatSettings = bsBeatSettingService.selectBsBeatSettingList(new BsBeatSetting()); + if (ObjectUtil.isNotNull(actModel)){ + List<BsBeatSetting> collect = bsBeatSettings.stream().filter(x -> actModel.contains(x.getProductCode())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)){ + BsBeatSetting bsBeatSetting = collect.get(0); + beat = bsBeatSetting.getBeat(); + } + } + + LocalDateTime nowTime = LocalDateTime.now(); + long workTime = 0; + LocalDateTime time1 = now.atTime(0, 0, 0); + LocalDateTime time_rest = now.atTime(0, 30, 0); + LocalDateTime time2 = now.atTime(3, 0, 0); + LocalDateTime time3 = now.atTime(3, 10, 0); + LocalDateTime time4 = now.atTime(5, 0, 0); + LocalDateTime time5 = now.atTime(5, 10, 0); + LocalDateTime time6 = now.atTime(7, 0, 0); + LocalDateTime time7 = now.atTime(8, 0, 0); + LocalDateTime time8 = now.atTime(10, 0, 0); + LocalDateTime time9 = now.atTime(10, 10, 0); + LocalDateTime time10 = now.atTime(11, 10, 0); + LocalDateTime time11 = now.atTime(12, 10, 0); + LocalDateTime time12 = now.atTime(15, 0, 0); + LocalDateTime time13 = now.atTime(15, 10, 0); + LocalDateTime time14 = now.atTime(20, 0, 0); + LocalDateTime time15 = now.atTime(20, 10, 0); + LocalDateTime time16 = now.atTime(22, 0, 0); + LocalDateTime time17 = now.atTime(22, 10, 0); + LocalDateTime time18 = now.atTime(23, 59, 59); + if (nowTime.isBefore(time_rest)){ + //0-0.30 + workTime = 0; + } else if (nowTime.isBefore(time2)){ + //0-3 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 1800; + } else if (nowTime.isBefore(time3)){ + //0-3.10 + workTime = ChronoUnit.SECONDS.between(time1,time2) - 1800; + } else if (nowTime.isBefore(time4)){ + //0-5 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 2400; + } else if (nowTime.isBefore(time5)){ + //0-5.10 + workTime = ChronoUnit.SECONDS.between(time1,time4) - 2400; + } else if (nowTime.isBefore(time6)){ + //0-7 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 3000; + } else if (nowTime.isBefore(time7)){ + //0-8 + workTime = ChronoUnit.SECONDS.between(time1,time6) - 3000; + } else if (nowTime.isBefore(time8)){ + //0-10 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 6600; + } else if (nowTime.isBefore(time9)){ + //0-10.10 + workTime = ChronoUnit.SECONDS.between(time1,time8) - 6600; + } else if (nowTime.isBefore(time10)){ + //0-11.10 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 7200; + } else if (nowTime.isBefore(time11)){ + //0-12.10 + workTime = ChronoUnit.SECONDS.between(time1,time10) - 7200; + } else if (nowTime.isBefore(time12)){ + //0-15 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 7200 - 3600; + } else if (nowTime.isBefore(time13)){ + //0-15.10 + workTime = ChronoUnit.SECONDS.between(time1,time12) - 7200 - 3600; + } else if (nowTime.isBefore(time14)){ + //0-20 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 7200 - 3600 - 600; + } else if (nowTime.isBefore(time15)){ + //0-20.10 + workTime = ChronoUnit.SECONDS.between(time1,time14) - 7200 - 3600 - 600; + } else if (nowTime.isBefore(time16)){ + //0-22 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 7200 - 3600 - 600 - 600; + } else if (nowTime.isBefore(time17)){ + //0-22.10 + workTime = ChronoUnit.SECONDS.between(time1,time16) - 7200 - 3600 - 600 - 600; + } else if (nowTime.isBefore(time18)){ + //0-24 + workTime = ChronoUnit.SECONDS.between(time1,nowTime) - 7200 - 3600 - 600 - 600 - 600; + } + if (modelNum > 1){ + workTime = workTime - 1800L *(modelNum-1); + if (workTime <0){ + workTime = 0; + } + } + System.out.println(workTime+"---------"); + long l2 = System.currentTimeMillis(); + System.out.println("缁撴潫锛�----"+l2); + long l1 = l2 - l; + System.out.println("鑰楄垂鏃堕棿锛�----"+l1); + //鐞嗚浜ч噺 + Integer productNumTheory = 0; + if (StrUtil.isNotBlank(beat)){ + int i = Integer.parseInt(beat); + Integer workTimeInt = (int) workTime; + productNumTheory = Math.floorDiv(workTimeInt, i); + } + return productNumTheory; + } + public static String getProductionPlanInformationXml(String orderNo,String location){ String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + " <soapenv:Header/>\n" + diff --git a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js index 2983328..cd48024 100644 --- a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js +++ b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js @@ -9,6 +9,14 @@ }) } +export function queryDaParamCollectionListForSearch(query) { + return request({ + url: '/main/paramCollection/queryDaParamCollectionListForSearch', + method: 'get', + params: query + }) +} + // 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦璇︾粏 export function getParamCollection(id) { return request({ diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js index 12110e3..4d50c5d 100644 --- a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js +++ b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js @@ -8,6 +8,14 @@ params: query }) } + +export function selectDaPassingStationCollectionForSearch(query) { + return request({ + url: '/da/passingStationCollection/selectDaPassingStationCollectionForSearch', + method: 'get', + params: query + }) +} //鏌ヨ棣栭〉top浜旀暟鎹� export function getTopProcess() { return request({ @@ -75,3 +83,11 @@ method: 'delete' }) } + +export function getProductNum(query) { + return request({ + url: '/da/passingStationCollection/getProductNum', + method: 'get', + params: query + }) +} diff --git a/jcdm-ui/src/views/dashboard/PanelGroup.vue b/jcdm-ui/src/views/dashboard/PanelGroup.vue index 04b2434..891748e 100644 --- a/jcdm-ui/src/views/dashboard/PanelGroup.vue +++ b/jcdm-ui/src/views/dashboard/PanelGroup.vue @@ -39,22 +39,22 @@ <span class="nextLine">{{data4}}</span> </div> </div> - <div class="transition-box" style="background-color: green"> - <i class="el-icon-upload2"></i> - <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> - <div> - <span style="margin-left: 20px">CVT涓婄嚎</span> - <span class="nextLine">{{data5}}</span> - </div> - </div> - <div class="transition-box" style="background-color: darkslategray"> - <i class="el-icon-finished"></i> - <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> - <div> - <span style="margin-left: 20px">CVT涓嬬嚎</span> - <span class="nextLine">{{data6}}</span> - </div> - </div> +<!-- <div class="transition-box" style="background-color: green">--> +<!-- <i class="el-icon-upload2"></i>--> +<!-- <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>--> +<!-- <div>--> +<!-- <span style="margin-left: 20px">CVT涓婄嚎</span>--> +<!-- <span class="nextLine">{{data5}}</span>--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="transition-box" style="background-color: darkslategray">--> +<!-- <i class="el-icon-finished"></i>--> +<!-- <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>--> +<!-- <div>--> +<!-- <span style="margin-left: 20px">CVT涓嬬嚎</span>--> +<!-- <span class="nextLine">{{data6}}</span>--> +<!-- </div>--> +<!-- </div>--> </div> diff --git a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue index d5e77dd..18712df 100644 --- a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue +++ b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue @@ -90,14 +90,6 @@ /> </el-select> </el-form-item> - <el-form-item label="CVT鎶ュ伐" prop="report30"> - <el-input - v-model="queryParams.report30" - placeholder="璇疯緭鍏VT鎶ュ伐" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> <br/> <el-form-item label="鎿嶄綔鏃堕棿" prop="operateTime"> <el-date-picker @@ -178,11 +170,11 @@ <el-table-column label="鍙戝姩鏈哄彿" align="center" prop="engineNo" width="150"> </el-table-column> - <el-table-column label="浜у搧绫诲瀷" align="center" prop="productType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.material_type" :value="scope.row.productType"/> - </template> - </el-table-column> +<!-- <el-table-column label="浜у搧绫诲瀷" align="center" prop="productType">--> +<!-- <template slot-scope="scope">--> +<!-- <dict-tag :options="dict.type.material_type" :value="scope.row.productType"/>--> +<!-- </template>--> +<!-- </el-table-column>--> <el-table-column label="鏈哄瀷" align="center" prop="model"> </el-table-column> @@ -219,11 +211,6 @@ </template> </el-table-column> - <el-table-column label="CVT鎶ュ伐" align="center" prop="report30"> - </el-table-column> - - <el-table-column label="鎶ュ伐寮傚父" align="center" prop="report30"> - </el-table-column> <el-table-column label="鍚堢涓婄嚎鏃堕棿" align="center" prop="boxClosingOnlineTime" width="160"> <template slot-scope="scope"> @@ -243,16 +230,6 @@ <el-table-column label="鎬昏涓嬬嚎鏃堕棿" align="center" prop="finalAssemblyOfflineTime" width="160"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.finalAssemblyOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> - </template> - </el-table-column> - <el-table-column label="CVT涓婄嚎鏃堕棿" align="center" prop="cvtLaunchTime" width="160"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.cvtLaunchTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> - </template> - </el-table-column> - <el-table-column label="CVT涓嬬嚎鏃堕棿" align="center" prop="cvtOfflineTime" width="160"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.cvtOfflineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> </template> </el-table-column> <el-table-column label="鎿嶄綔浜�" align="center" prop="operator"> @@ -287,11 +264,11 @@ <el-form-item label="鍙戝姩鏈哄彿" prop="engineNo"> <el-input v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" /> </el-form-item> - <el-form-item label="浜у搧绫诲瀷" prop="productType"> - <el-select v-model="form.productType" placeholder="璇烽�夋嫨浜у搧绫诲瀷"> +<!-- <el-form-item label="浜у搧绫诲瀷" prop="productType">--> +<!-- <el-select v-model="form.productType" placeholder="璇烽�夋嫨浜у搧绫诲瀷">--> - </el-select> - </el-form-item> +<!-- </el-select>--> +<!-- </el-form-item>--> <el-form-item label="鏈哄瀷" prop="model"> <el-input v-model="form.model" placeholder="璇疯緭鍏ユ満鍨�" /> </el-form-item> @@ -304,25 +281,44 @@ </el-form-item> <el-form-item label="鏄惁鎵撳嵃" prop="whetherOrPrint"> - <el-input v-model="form.whetherOrPrint" placeholder="璇疯緭鍏ユ槸鍚︽墦鍗�" > - <template></template> - </el-input> + <el-select style="width: 93%" v-model="form.whetherOrPrint" placeholder="璇烽�夋嫨鏄惁鎵撳嵃"> + <el-option + v-for="item in printOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> </el-form-item> <el-form-item label="鍚堢鎶ュ伐" prop="report10"> - <el-input v-model="form.report10" placeholder="璇疯緭鍏ュ悎绠辨姤宸�" /> + <el-select style="width: 93%" v-model="form.report10" placeholder="璇烽�夋嫨鍚堢鎶ュ伐"> + <el-option + v-for="item in reportOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> </el-form-item> <el-form-item label="鎬昏鎶ュ伐" prop="report20"> - <el-input v-model="form.report20" placeholder="璇疯緭鍏ユ�昏鎶ュ伐" /> + <el-select style="width: 93%" v-model="form.report20" placeholder="璇烽�夋嫨鎬昏鎶ュ伐"> + <el-option + v-for="item in reportOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> </el-form-item> - <el-form-item label="30鎶ュ伐" prop="report20"> - <el-input v-model="form.report30" placeholder="璇疯緭鍏�30鎶ュ伐" /> - </el-form-item> +<!-- <el-form-item label="30鎶ュ伐" prop="report20">--> +<!-- <el-input v-model="form.report30" placeholder="璇疯緭鍏�30鎶ュ伐" />--> +<!-- </el-form-item>--> <el-form-item label="鎿嶄綔浜�" prop="operator"> <el-input v-model="form.operator" placeholder="璇疯緭鍏ユ搷浣滀汉" /> </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="form.status" placeholder="璇烽�夋嫨"> + <el-select v-model="form.productionStatus" placeholder="璇烽�夋嫨"> <el-option v-for="item in statusOptions" :key="item.value" @@ -349,6 +345,30 @@ dicts: ['order_scheduling_produce_status','quality_status','print_status','material_type','workreportingstatus'], data() { return { + printOptions: [ + { + label:'鏄�', + value: "1" + }, + { + label:'鍚�', + value: "0" + }, + ], + reportOptions: [ + { + label:'宸叉姤宸�', + value: "1" + }, + { + label:'鎶ュ伐寮傚父', + value: "3" + }, + { + label:'寰呮姤宸�', + value: "0" + }, + ], // 閬僵灞� loading: true, titleName: "", diff --git a/jcdm-ui/src/views/main/da/followReport/index.vue b/jcdm-ui/src/views/main/da/followReport/index.vue index 0ff3286..34fd7cc 100644 --- a/jcdm-ui/src/views/main/da/followReport/index.vue +++ b/jcdm-ui/src/views/main/da/followReport/index.vue @@ -59,9 +59,9 @@ <!-- <el-table-column label="宸ユ椂" align="center" prop="workingHours">--> <!-- </el-table-column>--> - <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="currentWorkstation"> +<!-- <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="currentWorkstation">--> - </el-table-column> +<!-- </el-table-column>--> <el-table-column label="璐ㄩ噺鐘舵��" align="center" prop="qualityStatus"> <template slot-scope="scope"> <dict-tag :options="dict.type.quality_status" :value="scope.row.qualityStatus"/> @@ -75,10 +75,10 @@ </el-table-column> <el-table-column label="鎬昏涓嬬嚎鏃堕棿" align="center" prop="finalAssemblyOfflineTime" width="160"> </el-table-column> - <el-table-column label="CVT涓婄嚎鏃堕棿" align="center" prop="cvtLaunchTime" width="160"> - </el-table-column> - <el-table-column label="CVT涓嬬嚎鏃堕棿" align="center" prop="cvtOfflineTime" width="160"> - </el-table-column> +<!-- <el-table-column label="CVT涓婄嚎鏃堕棿" align="center" prop="cvtLaunchTime" width="160">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="CVT涓嬬嚎鏃堕棿" align="center" prop="cvtOfflineTime" width="160">--> +<!-- </el-table-column>--> <el-table-column label="鎿嶄綔浜�" align="center" prop="operator"> </el-table-column> @@ -103,10 +103,10 @@ <span slot="label"><i class="el-icon-date"></i>鎷х揣鏁版嵁</span> <report1 :list1 = this.list1></report1> </el-tab-pane> - <el-tab-pane> - <span slot="label"><i class="el-icon-date"></i>鐩告満妫�娴�</span> - <report2 :list2 = this.list2></report2> - </el-tab-pane> +<!-- <el-tab-pane>--> +<!-- <span slot="label"><i class="el-icon-date"></i>鐩告満妫�娴�</span>--> +<!-- <report2 :list2 = this.list2></report2>--> +<!-- </el-tab-pane>--> <el-tab-pane> <span slot="label"><i class="el-icon-date"></i>澶栨紡妫�娴�</span> <report3 :list3 = this.list3></report3> diff --git a/jcdm-ui/src/views/main/da/followReport/report1.vue b/jcdm-ui/src/views/main/da/followReport/report1.vue index af786e8..9d7e1d8 100644 --- a/jcdm-ui/src/views/main/da/followReport/report1.vue +++ b/jcdm-ui/src/views/main/da/followReport/report1.vue @@ -53,9 +53,9 @@ <el-table-column prop="address" align="center" - label="鏃堕棿" + label="閲囬泦鏃堕棿" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.createTime }}</template> + <template slot-scope="scope">{{ scope.row.collectionTime }}</template> </el-table-column> </el-table> </template> diff --git a/jcdm-ui/src/views/main/da/followReport/report2.vue b/jcdm-ui/src/views/main/da/followReport/report2.vue index 9115ba3..e9e042b 100644 --- a/jcdm-ui/src/views/main/da/followReport/report2.vue +++ b/jcdm-ui/src/views/main/da/followReport/report2.vue @@ -53,9 +53,9 @@ <el-table-column prop="address" align="center" - label="鏃堕棿" + label="閲囬泦鏃堕棿" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.createTime }}</template> + <template slot-scope="scope">{{ scope.row.collectionTime }}</template> </el-table-column> </el-table> </template> diff --git a/jcdm-ui/src/views/main/da/followReport/report3.vue b/jcdm-ui/src/views/main/da/followReport/report3.vue index d19be27..087ed01 100644 --- a/jcdm-ui/src/views/main/da/followReport/report3.vue +++ b/jcdm-ui/src/views/main/da/followReport/report3.vue @@ -53,9 +53,9 @@ <el-table-column prop="address" align="center" - label="鏃堕棿" + label="閲囬泦鏃堕棿" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.createTime }}</template> + <template slot-scope="scope">{{ scope.row.collectionTime }}</template> </el-table-column> </el-table> </template> diff --git a/jcdm-ui/src/views/main/da/followReport/report4.vue b/jcdm-ui/src/views/main/da/followReport/report4.vue index cfa9ee1..6e5ecbb 100644 --- a/jcdm-ui/src/views/main/da/followReport/report4.vue +++ b/jcdm-ui/src/views/main/da/followReport/report4.vue @@ -52,10 +52,10 @@ </el-table-column> <el-table-column prop="address" - label="鏃堕棿" + label="閲囬泦鏃堕棿" align="center" show-overflow-tooltip> - <template slot-scope="scope">{{ scope.row.createTime }}</template> + <template slot-scope="scope">{{ scope.row.collectionTime }}</template> </el-table-column> </el-table> </template> diff --git a/jcdm-ui/src/views/main/da/followReport/report5.vue b/jcdm-ui/src/views/main/da/followReport/report5.vue index 5926886..98742bd 100644 --- a/jcdm-ui/src/views/main/da/followReport/report5.vue +++ b/jcdm-ui/src/views/main/da/followReport/report5.vue @@ -35,8 +35,8 @@ <el-table-column label="鏄惁鍚堟牸" align="center" prop="outRsSign"> </el-table-column> - <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign"> - </el-table-column> +<!-- <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign">--> +<!-- </el-table-column>--> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="160"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> diff --git a/jcdm-ui/src/views/main/da/paramCollection/index.vue b/jcdm-ui/src/views/main/da/paramCollection/index.vue index 56daffe..ac72dbf 100644 --- a/jcdm-ui/src/views/main/da/paramCollection/index.vue +++ b/jcdm-ui/src/views/main/da/paramCollection/index.vue @@ -18,6 +18,19 @@ @keyup.enter.native="handleQuery" /> </el-form-item> + <el-form-item label="鏃ユ湡鑼冨洿" prop="dateConditions"> + <el-date-picker + v-model="queryParams.dateConditions" + type="daterange" + align="right" + unlink-panels + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" + @change="handleDateChange"> + </el-date-picker> + </el-form-item> <el-form-item style="float: right"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> @@ -77,10 +90,10 @@ <el-table-column label="鍙戝姩鏈虹紪鐮�" align="center" width="160" prop="sfcCode" ></el-table-column> <!-- <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode"></el-table-column>--> <!-- <el-table-column label="浜х嚎缂栧彿" align="center" prop="productionLine"></el-table-column>--> - <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode"></el-table-column> <!-- <el-table-column label="璁惧缂栧彿" align="center" prop="equipmentNo"></el-table-column>--> - <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column> + <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName" width="150" ></el-table-column> <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></el-table-column> + <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode"></el-table-column> <el-table-column label="鍙傛暟涓婇檺" align="center" prop="paramUpper"></el-table-column> <el-table-column label="鍙傛暟涓嬮檺" align="center" prop="paramLower"></el-table-column> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="160"> @@ -89,7 +102,7 @@ </template> </el-table-column> <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column> - <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName" width="150" ></el-table-column> + <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column> <el-table-column label="鍗曚綅" align="center" prop="unit"></el-table-column> <el-table-column label="绫诲瀷" align="center" prop="type"></el-table-column> <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width" > @@ -188,11 +201,13 @@ <script> import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection"; +import {queryDaParamCollectionListForSearch} from "../../../../api/main/da/paramCollection/paramCollection"; export default { name: "ParamCollection", data() { return { + maxDate: '', // 閬僵灞� loading: true, // 閫変腑鏁扮粍 @@ -213,6 +228,7 @@ open: false, // 鏌ヨ鍙傛暟 queryParams: { + dateConditions: [], pageNum: 1, pageSize: 10, workOrderNo: null, @@ -258,16 +274,33 @@ // this.getList(); }, methods: { + handleDateChange(value) { + if (value && value.length === 2) { + const startDate = value[0]; + const endDate = value[1]; + const dayCount = this.daysBetween(startDate, endDate); + if (dayCount + 1 > 7) { + this.$message.error('璇烽�夋嫨杩炵画鐨�7澶╋紒'); + this.queryParams.dateConditions = []; // 閲嶇疆鏃ユ湡鑼冨洿 + } + } + }, + daysBetween(startDate, endDate) { + const oneDay = 24 * 60 * 60 * 1000; // 姣忓ぉ鐨勬绉掓暟 + const startTime = new Date(startDate).getTime(); + const endTime = new Date(endDate).getTime(); + return Math.round(Math.abs((startTime - endTime) / oneDay)); + }, /** 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃 */ getList() { this.loading = true; - if (this.queryParams.sfcCode == null || this.queryParams.sfcCode == ''){ + if ((this.queryParams.sfcCode == null || this.queryParams.sfcCode === '') && this.queryParams.dateConditions.length === 0){ this.$message({ - message: '璇疯緭鍏ュ彂鍔ㄦ満鍙风爜', + message: '璇疯緭鍏ュ彂鍔ㄦ満鍙风爜鎴栬�呴�夋嫨鏌ヨ鏃ユ湡', type: 'info' }); } else { - listParamCollection(this.queryParams).then(response => { + queryDaParamCollectionListForSearch(this.queryParams).then(response => { this.paramCollectionList = response.rows; this.total = response.total; this.loading = false; diff --git a/jcdm-ui/src/views/main/da/passingStationCollection/index.vue b/jcdm-ui/src/views/main/da/passingStationCollection/index.vue index 693da8f..aa2c646 100644 --- a/jcdm-ui/src/views/main/da/passingStationCollection/index.vue +++ b/jcdm-ui/src/views/main/da/passingStationCollection/index.vue @@ -76,14 +76,14 @@ <el-table v-loading="loading" border :data="passingStationCollectionList" @selection-change="handleSelectionChange" v-if="passingStationCollectionList.length > 0"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="宸ュ崟缂栧彿" align="center" prop="workOrderNo"> + <el-table-column label="宸ュ崟缂栧彿" align="center" width="150" prop="workOrderNo"> </el-table-column> <el-table-column label="鍙戝姩鏈虹紪鐮�" align="center" prop="sfcCode" width="150"> </el-table-column> <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode"> </el-table-column> - <el-table-column label="浜х嚎缂栧彿" align="center" prop="productionLine"> - </el-table-column> +<!-- <el-table-column label="浜х嚎缂栧彿" align="center" prop="productionLine">--> +<!-- </el-table-column>--> <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode"> </el-table-column> <el-table-column label="鍏ョ珯鏃堕棿" align="center" prop="inboundTime" width="160"> @@ -99,8 +99,8 @@ <el-table-column label="鏄惁鍚堟牸" align="center" prop="outRsSign"> </el-table-column> - <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign"> - </el-table-column> +<!-- <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign">--> +<!-- </el-table-column>--> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> @@ -156,15 +156,15 @@ <el-form-item label="浜у搧缂栧彿" prop="productCode"> <el-input v-model="form.productCode" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> </el-form-item> - <el-form-item label="浜х嚎缂栧彿" prop="productionLine"> - <el-input v-model="form.productionLine" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> +<!-- <el-form-item label="浜х嚎缂栧彿" prop="productionLine">--> +<!-- <el-input v-model="form.productionLine" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />--> +<!-- </el-form-item>--> <el-form-item label="宸ヤ綅缂栧彿" prop="locationCode"> <el-input v-model="form.locationCode" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> </el-form-item> - <el-form-item label="璁惧缂栧彿" prop="equipmentNo"> - <el-input v-model="form.equipmentNo" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> +<!-- <el-form-item label="璁惧缂栧彿" prop="equipmentNo">--> +<!-- <el-input v-model="form.equipmentNo" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />--> +<!-- </el-form-item>--> <el-form-item label="鍏ョ珯鏃堕棿" prop="inboundTime"> <el-date-picker clearable v-model="form.inboundTime" @@ -184,9 +184,9 @@ <el-form-item label="鏄惁鍚堟牸" prop="outRsSign"> <el-input v-model="form.outRsSign" placeholder="璇疯緭鍏ュ嚭绔欐槸鍚﹀悎鏍�" /> </el-form-item> - <el-form-item label="NG鍘熷洜" prop="outMsgSign"> - <el-input v-model="form.outMsgSign" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> +<!-- <el-form-item label="NG鍘熷洜" prop="outMsgSign">--> +<!-- <el-input v-model="form.outMsgSign" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />--> +<!-- </el-form-item>--> <el-form-item label="閲囬泦鏃堕棿" prop="collectionTime"> <el-date-picker clearable v-model="form.collectionTime" @@ -209,6 +209,9 @@ <script> import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection"; +import { + selectDaPassingStationCollectionForSearch +} from "../../../../api/main/da/passingStationCollection/passingStationCollection"; export default { name: "PassingStationCollection", @@ -262,7 +265,7 @@ /** 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */ getList() { this.loading = true; - listPassingStationCollection(this.queryParams).then(response => { + selectDaPassingStationCollectionForSearch(this.queryParams).then(response => { this.passingStationCollectionList = response.rows; this.total = response.total; this.loading = false; diff --git a/jcdm-ui/src/views/main/da/productNum/index.vue b/jcdm-ui/src/views/main/da/productNum/index.vue new file mode 100644 index 0000000..5161739 --- /dev/null +++ b/jcdm-ui/src/views/main/da/productNum/index.vue @@ -0,0 +1,154 @@ +<template> + <div class="app-container"> + <el-card class="box-card"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> + <el-form-item label="鎸夋湀浠界粺璁�" prop="queryMonth"> + <el-date-picker + v-model="queryParams.queryMonth" + type="month" + @change = changeMonth + value-format="yyyy-MM" + placeholder="閫夋嫨鏈堜唤"> + </el-date-picker> + </el-form-item> + <el-form-item label="鎸夋棩鏈熺粺璁�" prop="queryDate"> + <el-date-picker + v-model="queryParams.queryDate" + type="date" + @change = changeDate + value-format="yyyy-MM-dd" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-download" style="background-color: #6dbf6d;" @click="exportReport">瀵煎嚭鎶ヨ〃</el-button> + </el-form-item> + </el-form> + + <el-table v-loading="loading" border :data="productNumList" v-if="productNumList.length > 0"> + <el-table-column label="鏈哄瀷" align="center" prop="model"> + </el-table-column> + <el-table-column label="浜ч噺" align="center" prop="num" width="150"> + </el-table-column> + </el-table> + <el-empty v-else> + <span slot="description">鏆傛棤鏁版嵁</span> + </el-empty> + </el-card> + </div> +</template> + +<script> +import { + getProductNum +} from "../../../../api/main/da/passingStationCollection/passingStationCollection"; + +export default { + name: "productNum", + data() { + return { + // 閬僵灞� + loading: true, + queryParams: { + queryDate: '', + queryMonth: '', + pageNum: 1, + pageSize: 10, + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + showSearch: true, + productNumList: [], + // 鎬绘潯鏁� + total: 0, + }; + }, + created() { + const date = new Date(); + const year = date.getFullYear(); + let month = date.getMonth() + 1; + let day = date.getDate(); + month = (month > 9) ? month : ("0" + month); + day = (day < 10) ? ("0" + day) : day; + this.queryParams.queryDate = year + "-" + month + "-" + day; + this.queryParams.queryMonth = year + "-" + month; + this.getList(); + }, + methods: { + //瀵煎嚭 + exportReport(){ + this.download('bs/beatSetting/productNumExport', { + ...this.queryParams + }, `浜ч噺鎶ヨ〃_${new Date().getTime()}.xlsx`) + + }, + /** 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */ + getList: function () { + this.loading = true; + getProductNum(this.queryParams).then(response => { + console.log('res', response) + this.productNumList = response.data; + this.loading = false; + }); + }, + changeMonth (){ + this.queryParams.queryDate = '' + this.getList() + }, + changeDate(){ + console.log('000000') + if (this.queryParams.queryDate !== null && this.queryParams.queryDate !==''){ + let split = this.queryParams.queryDate.split('-'); + this.queryParams.queryMonth = split[0]+"-"+split[1] + } + this.getList() + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + workOrderNo: null, + sfcCode: null, + productCode: null, + productionLine: null, + locationCode: null, + equipmentNo: null, + inboundTime: null, + outboundTime: null, + inRsSign: null, + inMsgSign: null, + outRsSign: null, + outMsgSign: null, + collectionTime: null, + spareField1: null, + spareField2: null, + createUser: null, + createTime: null, + updateUser: null, + updateTime: null, + beatTime: null + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + } +}; +</script> + +<style scoped> + +</style> diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index 4551649..ce44092 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/index.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue @@ -59,6 +59,16 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['om:productionOrde:add']" + >鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="success" plain icon="el-icon-edit" @@ -179,21 +189,24 @@ <i class="el-icon-s-order"></i> {{titleName}} </span> - <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> - <el-form-item label="宸ュ崟鍙�" prop="workOrderNo"> - <el-input v-model="form.workOrderNo" disabled placeholder="璇疯緭鍏ョ敓浜ц鍗�" /> + <el-form ref="form" inline :model="form" :rules="rules" label-width="100px"> + <el-form-item label="鐢熶骇閫氱煡鍗�" prop="productionNotice"> + <el-input v-model="form.productionNotice" :disabled="editFlag" placeholder="璇疯緭鍏ョ敓浜ч�氱煡鍗�" /> </el-form-item> - <el-form-item label="璁㈠崟缂栧彿" prop="productionNotice"> - <el-input v-model="form.productionNotice" disabled placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> + <el-form-item label="鐢熶骇璁㈠崟" prop="workOrderNo"> + <el-input v-model="form.workOrderNo" :disabled="editFlag" placeholder="璇疯緭鍏ョ敓浜ц鍗�" /> </el-form-item> <el-form-item label="浜у搧缂栧彿" prop="productCode"> - <el-input v-model="form.productCode" disabled placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" /> + <el-input v-model="form.productCode" :disabled="editFlag" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" /> </el-form-item> - <el-form-item label="浜у搧鍚嶇О" prop="productName"> - <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" /> + <el-form-item label="鎴愬搧鎻忚堪" prop="productName"> + <el-input v-model="form.productName" :disabled="editFlag" placeholder="璇疯緭鍏ユ垚鍝佹弿杩�" /> </el-form-item> - <el-form-item label="绉嶇被" prop="productName"> - <el-input v-model="form.typeZ" disabled placeholder="璇疯緭鍏ョ绫�" /> + <el-form-item label="鏈哄瀷" prop="productName"> + <el-input v-model="form.typeZ" :disabled="editFlag" placeholder="璇疯緭鍏ユ満鍨�" /> + </el-form-item> + <el-form-item label="闇�姹傛暟閲�" prop="planQty"> + <el-input v-model="form.planQty" :disabled="editFlag" placeholder="璇疯緭鍏ラ渶姹傛暟閲�" /> </el-form-item> <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus"> <el-select style="width: 93%" v-model="form.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��"> @@ -213,14 +226,14 @@ </div> </el-dialog> - <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="500px" append-to-body> + <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="600px" append-to-body> <span slot="title"> <i class="el-icon-s-order"></i> {{titleName}} </span> - <el-form ref="form" inline :model="form" :rules="CreateRules" label-width="100px"> + <el-form ref="form" inline :model="form" :rules="CreateRules" label-width="120px"> <el-form-item label="鏈哄瀷" prop="typeZ"> - <el-input disabled v-model="form.typeZ" placeholder="璇疯緭鍏ユ満鍨�" /> + <el-input disabled v-model="form.typeZ" style="font-size: 18px" placeholder="璇疯緭鍏ユ満鍨�" /> </el-form-item> <el-form-item label="鏃ユ湡" prop="dateTime"> <el-date-picker clearable @@ -234,10 +247,10 @@ <el-input v-model="form.dateTimeRule"/> </el-form-item> <el-form-item label="璧峰缂栧彿" prop="startCode"> - <el-input type="number" :maxlength="3" :pattern="'[0-9]{3}'" v-model="form.startCode" placeholder="璇疯緭鍏ヨ捣濮嬬紪鍙�" @input="handleCodeChangeStart"/> + <el-input type="number" style="font-size: 18px" :maxlength="3" :pattern="'[0-9]{3}'" v-model="form.startCode" placeholder="璇疯緭鍏ヨ捣濮嬬紪鍙�" @input="handleCodeChangeStart"/> </el-form-item> <el-form-item label="璧锋缂栧彿" prop="startEndCode"> - <el-input type="textarea" disabled v-model="form.startEndCode"/> + <el-input type="textarea" style="font-size: 18px;width: 250px" disabled v-model="form.startEndCode"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -278,6 +291,7 @@ }, data() { return { + editFlag: false, statuOptions:[ { label:"寰呬笅杈�", @@ -696,6 +710,7 @@ handleAdd() { this.initWorkshop(); this.reset(); + this.editFlag = false this.open = true; this.titleName = "娣诲姞鐢熶骇璁㈠崟"; }, @@ -736,6 +751,7 @@ handleUpdate(row) { this.initWorkshop(); this.reset(); + this.editFlag = true const id = row.id || this.ids getProductionOrde(id).then(response => { console.log(response.data) diff --git a/jcdm-ui/src/views/main/om/productionOrde/planStatistics.vue b/jcdm-ui/src/views/main/om/productionOrde/planStatistics.vue index fbd2b1c..8433431 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/planStatistics.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/planStatistics.vue @@ -2,7 +2,7 @@ <div class="app-container"> <el-card class="box-card"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label-width="100" label="鐢熶骇閫氱煡鍗�" prop="productName"> + <el-form-item label-width="100" label="鐢熶骇閫氱煡鍗�" prop="productionNotice"> <el-input v-model="queryParams.productionNotice" placeholder="璇疯緭鍏ョ敓浜ч�氱煡鍗�" clearable @keyup.enter.native="handleQuery"/> </el-form-item> <el-form-item label-width="80" label="鐢熶骇璁㈠崟" prop="workOrderNo"> @@ -47,16 +47,16 @@ </el-table-column> <el-table-column label="闇�姹傛暟閲�" align="center" prop="planQty"> </el-table-column> - <el-table-column label="宸ヤ綔涓�" align="center"> - </el-table-column> - <el-table-column label="宸插畬鎴�" width="160" align="center" prop="actualQty"> - </el-table-column> - <el-table-column label="宸叉姤搴�" width="160" align="center" prop="scrapQty"> - </el-table-column> - <el-table-column label="瀹屾垚鐜�" width="160" align="center"> - </el-table-column> - <el-table-column label="鍚堟牸鐜�" width="160" align="center"> - </el-table-column> +<!-- <el-table-column label="宸ヤ綔涓�" align="center">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="宸插畬鎴�" width="160" align="center" prop="actualQty">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="宸叉姤搴�" width="160" align="center" prop="scrapQty">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="瀹屾垚鐜�" width="160" align="center">--> +<!-- </el-table-column>--> +<!-- <el-table-column label="鍚堟牸鐜�" width="160" align="center">--> +<!-- </el-table-column>--> </el-table> </el-card> -- Gitblit v1.9.3