| | |
| | | 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; |
| | |
| | | @Autowired |
| | | private IBsBeatSettingService bsBeatSettingService; |
| | | |
| | | @Resource |
| | | private ProductNumTableService productNumTableService; |
| | | |
| | | @Resource |
| | | private IDaPassingStationCollectionService daPassingStationCollectionService; |
| | | |
| | | /** |
| | | * æ¥è¯¢èæ设置å表 |
| | | */ |
| | |
| | | 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, "产éç»è®¡æ°æ®"); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * è·åèæ设置详ç»ä¿¡æ¯ |
| | | */ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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(); |
| | |
| | | .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); |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | /** åç®±ä¸çº¿æ¶é´ */ |
| | | @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; |
| | |
| | | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | |
| | |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteBsOrderSchedulingByIds(Long[] ids); |
| | | |
| | | public List<ProductNumVO> getProductNum(@Param("queryDate") String queryDate,@Param("addQueryDate") String addQueryDate); |
| | | } |
| | |
| | | * @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(); |
| | |
| | | } |
| | | |
| | | @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){ |
| | |
| | | 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); |
| | | } |
| | |
| | | package com.jcdm.main.da.paramCollection.controller; |
| | | |
| | | import java.time.LocalTime; |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | @GetMapping("/queryDaParamCollectionListForSearch") |
| | | public TableDataInfo queryDaParamCollectionListForSearch(DaParamCollection daParamCollection) |
| | | { |
| | | startPage(); |
| | | List<DaParamCollection> list = daParamCollectionService.queryDaParamCollectionListForSearch(daParamCollection); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤äº§åè¿ç¨åæ°ééå表 |
| | | */ |
| | |
| | | * @return 设å¤äº§åè¿ç¨åæ°éééå |
| | | */ |
| | | public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection); |
| | | public List<DaParamCollection> queryDaParamCollectionListForSearch(DaParamCollection daParamCollection); |
| | | |
| | | public List<DaParamCollection> getListBySfcCode(@Param("engineNoList") List<String> engineNoList); |
| | | |
| | |
| | | * @return 设å¤äº§åè¿ç¨åæ°éééå |
| | | */ |
| | | public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection); |
| | | public List<DaParamCollection> queryDaParamCollectionListForSearch(DaParamCollection daParamCollection); |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤äº§åè¿ç¨åæ°éé |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤äº§åè¿ç¨åæ°éé |
| | | * |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | 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() |
| | |
| | | // } |
| | | // 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); |
| | | } |
| | | } |
| | |
| | | package com.jcdm.main.da.passingStationCollection.domain; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.Date; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | |
| | | |
| | | /** 产åç¼å· */ |
| | | @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; |
| | | |
| | | /** 设å¤ç¼å· */ |
| | |
| | | @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; |
| | | |
| | | /** åºç«æ¶é´ */ |
| | |
| | | @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) |
| | |
| | | |
| | | /** åºç«æ¯å¦åæ ¼ */ |
| | | @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; |
| | | |
| | | /** ééæ¶é´ */ |
| | |
| | | @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 */ |
| | |
| | | |
| | | /** èææ¶é´ */ |
| | | @Excel(name = "èææ¶é´") |
| | | @ExcelProperty(value = "èææ¶é´", index = 10) |
| | | private String beatTime; |
| | | |
| | | @TableField(exist = false) |
| | |
| | | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | |
| | | } |
| | |
| | | * @return 产åè¿ç«éééå |
| | | */ |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection); |
| | | |
| | | public List<DaPassingStationCollection> getListBySfcCode(@Param("engineNoList") List<String> engineNoList); |
| | | |
| | |
| | | |
| | | 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; |
| | |
| | | * @return 产åè¿ç«éééå |
| | | */ |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection); |
| | | public List<DaPassingStationVO> getTopProcess(DaPassingStationCollection daPassingStationCollection); |
| | | |
| | | |
| | |
| | | * @return ç»æ |
| | | */ |
| | | public String SelectSN(String SNcode,String node); |
| | | |
| | | public List<ProductNumVO> getProductNum(DaPassingStationCollection daPassingStationCollection); |
| | | } |
| | |
| | | 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; |
| | |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection) |
| | | { |
| | | return daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); |
| | | } |
| | | |
| | | @Override |
| | | public List<DaPassingStationCollection> selectDaPassingStationCollectionForSearch(DaPassingStationCollection daPassingStationCollection) { |
| | | return daPassingStationCollectionMapper.selectDaPassingStationCollectionForSearch(daPassingStationCollection); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | } |
| | | |
| | | @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<>(); |
| | | // |
| | |
| | | |
| | | |
| | | /** ä¿®æ¹äºº */ |
| | | @Excel(name = "ä¿®æ¹äºº") |
| | | private String updateUser; |
| | | |
| | | /** å¤æ³¨ */ |
| | | @Excel(name = "å¤æ³¨") |
| | | private String remarks; |
| | | |
| | | /** æµæ°´å· */ |
| | |
| | | package com.jcdm.main.plcserver.conf; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * @ClassName: OPCElement |
| | | * @Description: PCåPLCé信使ç¨çOPCserverä¸çæ è®°å称å表 |
| | |
| | | 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 |
| | |
| | | } |
| | | 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); |
| | |
| | | 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()); |
| | |
| | | } |
| | | 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)); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
| | |
| | | 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"> |
| | |
| | | #{id} |
| | | </foreach> |
| | | </delete> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | 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> |
| | |
| | | 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> |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private OmProductionOrdeInfoServiceImpl omProductionOrdeInfoService; |
| | | |
| | | @Resource |
| | | private IBsBeatSettingService bsBeatSettingService; |
| | | |
| | | @Resource |
| | | private ProductNumTableService productNumTableService; |
| | | |
| | | |
| | | private static final Logger logger = LoggerFactory.getLogger("sys-user"); |
| | |
| | | public void workReportingTasks(){ |
| | | report10(); |
| | | report20(); |
| | | updateProductNum(); |
| | | } |
| | | |
| | | public void report10(){ |
| | |
| | | } |
| | | } |
| | | |
| | | 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" + |
| | |
| | | }) |
| | | } |
| | | |
| | | export function queryDaParamCollectionListForSearch(query) { |
| | | return request({ |
| | | url: '/main/paramCollection/queryDaParamCollectionListForSearch', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢è®¾å¤äº§åè¿ç¨åæ°ééè¯¦ç» |
| | | export function getParamCollection(id) { |
| | | return request({ |
| | |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function selectDaPassingStationCollectionForSearch(query) { |
| | | return request({ |
| | | url: '/da/passingStationCollection/selectDaPassingStationCollectionForSearch', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | //æ¥è¯¢é¦é¡µtopäºæ°æ® |
| | | export function getTopProcess() { |
| | | return request({ |
| | |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | export function getProductNum(query) { |
| | | return request({ |
| | | url: '/da/passingStationCollection/getProductNum', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="CVTæ¥å·¥" prop="report30"> |
| | | <el-input |
| | | v-model="queryParams.report30" |
| | | placeholder="请è¾å
¥CVTæ¥å·¥" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <br/> |
| | | <el-form-item label="æä½æ¶é´" prop="operateTime"> |
| | | <el-date-picker |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | </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" |
| | |
| | | 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: "", |
| | |
| | | <!-- <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"/> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | |
| | | <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> |
| | |
| | | @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> |
| | |
| | | <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"> |
| | |
| | | </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" > |
| | |
| | | |
| | | <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, |
| | | // éä¸æ°ç» |
| | |
| | | open: false, |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | dateConditions: [], |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | workOrderNo: null, |
| | |
| | | // 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; |
| | |
| | | |
| | | <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"> |
| | |
| | | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | <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" |
| | |
| | | |
| | | <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", |
| | |
| | | /** æ¥è¯¢äº§åè¿ç«ééå表 */ |
| | | 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; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | <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="请éæ©å·¥åç¶æ"> |
| | |
| | | </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 |
| | |
| | | <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"> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | editFlag: false, |
| | | statuOptions:[ |
| | | { |
| | | label:"å¾
ä¸è¾¾", |
| | |
| | | handleAdd() { |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | this.editFlag = false |
| | | this.open = true; |
| | | this.titleName = "æ·»å ç产订å"; |
| | | }, |
| | |
| | | handleUpdate(row) { |
| | | this.initWorkshop(); |
| | | this.reset(); |
| | | this.editFlag = true |
| | | const id = row.id || this.ids |
| | | getProductionOrde(id).then(response => { |
| | | console.log(response.data) |
| | |
| | | <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"> |
| | |
| | | </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> |
| | | |