Merge remote-tracking branch 'origin/master'
| | |
| | | capitalMode: false |
| | | logicDeleteField: del_flag |
| | | # é»è¾å·²å é¤å¼ |
| | | logicDeleteValue: 1 |
| | | logicDeleteValue: "1" |
| | | # é»è¾æªå é¤å¼ |
| | | logicNotDeleteValue: 0 |
| | | logicNotDeleteValue: "0" |
| | | insertStrategy: NOT_NULL |
| | | updateStrategy: NOT_NULL |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.framework.config; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.billion.common.core.domain.model.LoginUser; |
| | | import com.billion.common.utils.SecurityUtils; |
| | | import com.billion.common.utils.StringUtils; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * ç®ä»è¯´æ:Mybatis-Plusé
ç½® |
| | | * |
| | | * @author: Eric |
| | | * @date: 2024-11-20 15:46:49 |
| | | * @version: 1.0 |
| | | */ |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler{ |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // æ£æ¥æ¯å¦æå为createTimeçå段ï¼å¦ææå设置å½åæ¶é´ |
| | | boolean hasCreateTime = metaObject.hasSetter("createTime"); |
| | | if (hasCreateTime) { |
| | | metaObject.setValue("createTime", new Date()); |
| | | } |
| | | |
| | | // æ£æ¥æ¯å¦æå为updateTimeçå段ï¼å¦ææå设置å½åæ¶é´ |
| | | boolean hasUpdateTime = metaObject.hasSetter("updateTime"); |
| | | if (hasUpdateTime) { |
| | | metaObject.setValue("updateTime", new Date()); |
| | | } |
| | | |
| | | LoginUser securityUser = SecurityUtils.getLoginUser(); |
| | | if (ObjectUtils.isNotEmpty(securityUser)){ |
| | | String username = securityUser.getUsername(); |
| | | if (StringUtils.isNoneBlank(username)){ |
| | | boolean hasCreateBy = metaObject.hasSetter("createBy"); |
| | | if (hasCreateBy){ |
| | | metaObject.setValue("createBy", username); |
| | | } |
| | | boolean hasUpdateBy = metaObject.hasSetter("updateBy"); |
| | | if (hasUpdateBy){ |
| | | metaObject.setValue("updateBy", username); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // æ£æ¥æ¯å¦æå为updateTimeçå段ï¼å¦ææå设置å½åæ¶é´ |
| | | boolean hasUpdateTime = metaObject.hasSetter("updateTime"); |
| | | if (hasUpdateTime) { |
| | | metaObject.setValue("updateTime", new Date()); |
| | | } |
| | | |
| | | LoginUser securityUser = SecurityUtils.getLoginUser(); |
| | | if (ObjectUtils.isNotEmpty(securityUser)){ |
| | | String username = securityUser.getUsername(); |
| | | if (StringUtils.isNoneBlank(username)){ |
| | | boolean hasUpdateBy = metaObject.hasSetter("updateBy"); |
| | | if (hasUpdateBy){ |
| | | metaObject.setValue("updateBy", username); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.billion.framework.config; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.DbType; |
| | | import com.baomidou.mybatisplus.core.config.GlobalConfig; |
| | | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; |
| | |
| | | return interceptor; |
| | | } |
| | | |
| | | @Bean |
| | | public GlobalConfig globalConfig() { |
| | | GlobalConfig globalConfig = new GlobalConfig(); |
| | | globalConfig.setMetaObjectHandler(new MyMetaObjectHandler()); // 设置MetaObjectHandler |
| | | return globalConfig; |
| | | } |
| | | |
| | | /** |
| | | * å页æ件ï¼èªå¨è¯å«æ°æ®åºç±»å https://baomidou.com/guide/interceptor-pagination.html |
| | | */ |
| | |
| | | package com.billion.main.common; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
| | |
| | | private Long id; |
| | | |
| | | /** å建è
*/ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | /** å建æ¶é´ */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°è
*/ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date updateTime; |
| | | |
| | | private Integer deleted; |
| | | @TableLogic |
| | | private String delFlag; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | public class Constant { |
| | | |
| | | /** |
| | | * å·¥åç¶æï¼1æªå¼å§2ç产ä¸3å·²å®æ4å·²å
³éï¼ |
| | | */ |
| | | public static final String ORDER_STATUS_NOT_START = "1"; |
| | | public static final String ORDER_STATUS_IN_PRODUCT = "2"; |
| | | public static final String ORDER_STATUS_FINISHED = "3"; |
| | | public static final String ORDER_STATUS_CLOSED = "4"; |
| | | } |
| | |
| | | |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.billion.main.da.service.IDaParamCollectionService; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | import com.billion.common.core.domain.AjaxResult; |
| | | import com.billion.common.enums.BusinessType; |
| | | import com.billion.main.da.domain.DaParamCollection; |
| | | import com.billion.main.da.service.IDaParamCollectionService; |
| | | import com.billion.common.utils.poi.ExcelUtil; |
| | | import com.billion.common.core.page.TableDataInfo; |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.controller; |
| | | |
| | | import com.billion.common.annotation.Log; |
| | | import com.billion.common.core.controller.BaseController; |
| | | import com.billion.common.core.domain.AjaxResult; |
| | | import com.billion.common.core.page.TableDataInfo; |
| | | import com.billion.common.enums.BusinessType; |
| | | import com.billion.common.utils.poi.ExcelUtil; |
| | | import com.billion.main.om.domain.OmOrderScheduling; |
| | | import com.billion.main.om.service.IOmOrderSchedulingService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 订åæ产Controller |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/main/scheduling") |
| | | public class OmOrderSchedulingController extends BaseController |
| | | { |
| | | @Autowired |
| | | private IOmOrderSchedulingService omOrderSchedulingService; |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产å表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(OmOrderScheduling omOrderScheduling) |
| | | { |
| | | startPage(); |
| | | List<OmOrderScheduling> list = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¢åæ产å表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:export')") |
| | | @Log(title = "订åæ产", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, OmOrderScheduling omOrderScheduling) |
| | | { |
| | | List<OmOrderScheduling> list = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); |
| | | ExcelUtil<OmOrderScheduling> util = new ExcelUtil<OmOrderScheduling>(OmOrderScheduling.class); |
| | | util.exportExcel(response, list, "订åæ产æ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·å订åæ产详ç»ä¿¡æ¯ |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:query')") |
| | | @GetMapping(value = "/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) |
| | | { |
| | | return success(omOrderSchedulingService.selectOmOrderSchedulingById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¢åæ产 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:add')") |
| | | @Log(title = "订åæ产", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody OmOrderScheduling omOrderScheduling) |
| | | { |
| | | return toAjax(omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¢åæ产 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:edit')") |
| | | @Log(title = "订åæ产", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody OmOrderScheduling omOrderScheduling) |
| | | { |
| | | return toAjax(omOrderSchedulingService.updateOmOrderScheduling(omOrderScheduling)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¢åæ产 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:scheduling:remove')") |
| | | @Log(title = "订åæ产", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | return toAjax(omOrderSchedulingService.deleteOmOrderSchedulingByIds(ids)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.controller; |
| | | |
| | | import com.billion.common.annotation.Log; |
| | | import com.billion.common.core.controller.BaseController; |
| | | import com.billion.common.core.domain.AjaxResult; |
| | | import com.billion.common.core.domain.R; |
| | | import com.billion.common.core.page.TableDataInfo; |
| | | import com.billion.common.enums.BusinessType; |
| | | import com.billion.common.utils.poi.ExcelUtil; |
| | | import com.billion.main.om.domain.OmProductionOrderInfo; |
| | | import com.billion.main.om.service.IOmProductionOrderInfoService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * ç产工åController |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/main/info") |
| | | public class OmProductionOrderInfoController extends BaseController |
| | | { |
| | | @Autowired |
| | | private IOmProductionOrderInfoService OmProductionOrderInfoService; |
| | | |
| | | /** |
| | | * æ¥è¯¢ç产工åå表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(OmProductionOrderInfo OmProductionOrderInfo) |
| | | { |
| | | startPage(); |
| | | List<OmProductionOrderInfo> list = OmProductionOrderInfoService.selectOmProductionOrderInfoList(OmProductionOrderInfo); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | @GetMapping("/getOrderList") |
| | | public R getOrderList(){ |
| | | List<String> collect = OmProductionOrderInfoService.list().stream().map(OmProductionOrderInfo::getWorkOrderNo).collect(Collectors.toList()); |
| | | return R.ok(collect); |
| | | } |
| | | |
| | | /** |
| | | * 导åºç产工åå表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:export')") |
| | | @Log(title = "ç产工å", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, OmProductionOrderInfo OmProductionOrderInfo) |
| | | { |
| | | List<OmProductionOrderInfo> list = OmProductionOrderInfoService.selectOmProductionOrderInfoList(OmProductionOrderInfo); |
| | | ExcelUtil<OmProductionOrderInfo> util = new ExcelUtil<OmProductionOrderInfo>(OmProductionOrderInfo.class); |
| | | util.exportExcel(response, list, "ç产工åæ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åç产工å详ç»ä¿¡æ¯ |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:query')") |
| | | @GetMapping(value = "/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) |
| | | { |
| | | return success(OmProductionOrderInfoService.selectOmProductionOrderInfoById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ç产工å |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:add')") |
| | | @Log(title = "ç产工å", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public void add(@RequestBody OmProductionOrderInfo OmProductionOrderInfo) |
| | | { |
| | | OmProductionOrderInfoService.insertOmProductionOrderInfo(OmProductionOrderInfo); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ç产工å |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:edit')") |
| | | @Log(title = "ç产工å", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody OmProductionOrderInfo OmProductionOrderInfo) |
| | | { |
| | | return toAjax(OmProductionOrderInfoService.updateOmProductionOrderInfo(OmProductionOrderInfo)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ç产工å |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:info:remove')") |
| | | @Log(title = "ç产工å", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | return toAjax(OmProductionOrderInfoService.deleteOmProductionOrderInfoByIds(ids)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.domain; |
| | | |
| | | import com.billion.common.annotation.Excel; |
| | | import com.billion.common.core.domain.BaseEntity; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 订åæ产对象 om_order_scheduling |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @Data |
| | | public class OmOrderScheduling extends BaseEntity |
| | | { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** ID */ |
| | | private Long id; |
| | | |
| | | /** å·¥åç¼å· */ |
| | | @Excel(name = "å·¥åç¼å·") |
| | | private String workOrderNo; |
| | | |
| | | /** æ»æåºåå· */ |
| | | @Excel(name = "æ»æåºåå·") |
| | | private String sfcCode; |
| | | |
| | | /** 产åç¼ç */ |
| | | @Excel(name = "产åç¼ç ") |
| | | private String productCode; |
| | | |
| | | /** ä¸çº¿æ¶é´ */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸çº¿æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date onlineTime; |
| | | |
| | | /** ä¸çº¿æ¶é´ */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸çº¿æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date offlineTime; |
| | | |
| | | /** è´¨éç¶æ(1åæ ¼ï¼2ä¸åæ ¼) */ |
| | | @Excel(name = "è´¨éç¶æ(1åæ ¼ï¼2ä¸åæ ¼)") |
| | | private String qualityStatus; |
| | | |
| | | /** ç¶æ(1æªå¼å§ï¼2æ§è¡ä¸ï¼3å·²å®æ) */ |
| | | @Excel(name = "ç¶æ(1æªå¼å§ï¼2æ§è¡ä¸ï¼3å·²å®æ)") |
| | | private String status; |
| | | |
| | | /** å¤æ³¨ */ |
| | | @Excel(name = "å¤æ³¨") |
| | | private String remarks; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.domain; |
| | | |
| | | import com.billion.common.annotation.Excel; |
| | | import com.billion.main.common.BaseEntity; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * ç产工å对象 om_production_order_info |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @Data |
| | | public class OmProductionOrderInfo extends BaseEntity |
| | | { |
| | | /** å·¥åç¼å· */ |
| | | @Excel(name = "å·¥åç¼å·") |
| | | private String workOrderNo; |
| | | |
| | | /** 订åç¼å· */ |
| | | @Excel(name = "订åç¼å·") |
| | | private String salesOrderCode; |
| | | |
| | | /** 产åç¼å· */ |
| | | @Excel(name = "产åç¼å·") |
| | | private String productCode; |
| | | |
| | | /** 产线ç¼å· */ |
| | | @Excel(name = "产线ç¼å·") |
| | | private String lineCode; |
| | | |
| | | /** 计åæ°é */ |
| | | @Excel(name = "计åæ°é") |
| | | private Long planQty; |
| | | |
| | | /** 计åå¼å§æ¶é´ */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = "计åå¼å§æ¶é´", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date planStartTime; |
| | | |
| | | /** 计åç»ææ¶é´ */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = "计åç»ææ¶é´", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date planEndTime; |
| | | |
| | | /** å·¥åç¶æï¼1æªå¼å§2ç产ä¸3å·²å®æ4å·²å
³éï¼ */ |
| | | @Excel(name = "å·¥åç¶æ", readConverterExp = "1=æªå¼å§2ç产ä¸3å·²å®æ4å·²å
³é") |
| | | private String orderStatus; |
| | | |
| | | /** å¤æ³¨ */ |
| | | @Excel(name = "å¤æ³¨") |
| | | private String remarks; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.mapper; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.billion.main.om.domain.OmOrderScheduling; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 订åæ产Mapperæ¥å£ |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | public interface OmOrderSchedulingMapper extends BaseMapper<OmOrderScheduling> |
| | | { |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产 |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return 订åæ产 |
| | | */ |
| | | public OmOrderScheduling selectOmOrderSchedulingById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产å表 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return 订åæ产éå |
| | | */ |
| | | public List<OmOrderScheduling> selectOmOrderSchedulingList(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * æ°å¢è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | public int insertOmOrderScheduling(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | public int updateOmOrderScheduling(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * å é¤è®¢åæ产 |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmOrderSchedulingById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå é¤è®¢åæ产 |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmOrderSchedulingByIds(Long[] ids); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.mapper; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.billion.main.om.domain.OmProductionOrderInfo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ç产工åMapperæ¥å£ |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | public interface OmProductionOrderInfoMapper extends BaseMapper<OmProductionOrderInfo> |
| | | { |
| | | /** |
| | | * æ¥è¯¢ç产工å |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç产工å |
| | | */ |
| | | public OmProductionOrderInfo selectOmProductionOrderInfoById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ç产工åå表 |
| | | * |
| | | * @param omProductionOrderInfo ç产工å |
| | | * @return ç产工åéå |
| | | */ |
| | | public List<OmProductionOrderInfo> selectOmProductionOrderInfoList(OmProductionOrderInfo omProductionOrderInfo); |
| | | |
| | | /** |
| | | * æ°å¢ç产工å |
| | | * |
| | | * @param omProductionOrderInfo ç产工å |
| | | * @return ç»æ |
| | | */ |
| | | public int insertOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo); |
| | | |
| | | /** |
| | | * ä¿®æ¹ç产工å |
| | | * |
| | | * @param omProductionOrderInfo ç产工å |
| | | * @return ç»æ |
| | | */ |
| | | public int updateOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo); |
| | | |
| | | /** |
| | | * å é¤ç产工å |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmProductionOrderInfoById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå é¤ç产工å |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmProductionOrderInfoByIds(Long[] ids); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.service; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.billion.main.om.domain.OmOrderScheduling; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 订åæ产Serviceæ¥å£ |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | public interface IOmOrderSchedulingService extends IService<OmOrderScheduling> |
| | | { |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产 |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return 订åæ产 |
| | | */ |
| | | public OmOrderScheduling selectOmOrderSchedulingById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产å表 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return 订åæ产éå |
| | | */ |
| | | public List<OmOrderScheduling> selectOmOrderSchedulingList(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * æ°å¢è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | public int insertOmOrderScheduling(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | public int updateOmOrderScheduling(OmOrderScheduling omOrderScheduling); |
| | | |
| | | /** |
| | | * æ¹éå é¤è®¢åæ产 |
| | | * |
| | | * @param ids éè¦å é¤ç订åæ产主é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmOrderSchedulingByIds(Long[] ids); |
| | | |
| | | /** |
| | | * å é¤è®¢åæäº§ä¿¡æ¯ |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmOrderSchedulingById(Long id); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.service; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.billion.main.om.domain.OmProductionOrderInfo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ç产工åServiceæ¥å£ |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | public interface IOmProductionOrderInfoService extends IService<OmProductionOrderInfo> |
| | | { |
| | | /** |
| | | * æ¥è¯¢ç产工å |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç产工å |
| | | */ |
| | | public OmProductionOrderInfo selectOmProductionOrderInfoById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ç产工åå表 |
| | | * |
| | | * @param OmProductionOrderInfo ç产工å |
| | | * @return ç产工åéå |
| | | */ |
| | | public List<OmProductionOrderInfo> selectOmProductionOrderInfoList(OmProductionOrderInfo OmProductionOrderInfo); |
| | | |
| | | /** |
| | | * æ°å¢ç产工å |
| | | * |
| | | * @param OmProductionOrderInfo ç产工å |
| | | */ |
| | | public void insertOmProductionOrderInfo(OmProductionOrderInfo OmProductionOrderInfo); |
| | | |
| | | /** |
| | | * ä¿®æ¹ç产工å |
| | | * |
| | | * @param OmProductionOrderInfo ç产工å |
| | | * @return ç»æ |
| | | */ |
| | | public int updateOmProductionOrderInfo(OmProductionOrderInfo OmProductionOrderInfo); |
| | | |
| | | /** |
| | | * æ¹éå é¤ç产工å |
| | | * |
| | | * @param ids éè¦å é¤çç产工å主é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmProductionOrderInfoByIds(Long[] ids); |
| | | |
| | | /** |
| | | * å é¤ç产工åä¿¡æ¯ |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteOmProductionOrderInfoById(Long id); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.billion.common.core.domain.entity.SysUser; |
| | | import com.billion.common.core.domain.model.LoginUser; |
| | | import com.billion.common.exception.ServiceException; |
| | | import com.billion.common.utils.SecurityUtils; |
| | | import com.billion.main.om.domain.OmOrderScheduling; |
| | | import com.billion.main.om.mapper.OmOrderSchedulingMapper; |
| | | import com.billion.main.om.service.IOmOrderSchedulingService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.MessageFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 订åæ产Serviceä¸å¡å±å¤ç |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @Service |
| | | public class OmOrderSchedulingServiceImpl extends ServiceImpl<OmOrderSchedulingMapper, OmOrderScheduling> implements IOmOrderSchedulingService |
| | | { |
| | | @Resource |
| | | private OmOrderSchedulingMapper omOrderSchedulingMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产 |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return 订åæ产 |
| | | */ |
| | | @Override |
| | | public OmOrderScheduling selectOmOrderSchedulingById(Long id) |
| | | { |
| | | return omOrderSchedulingMapper.selectOmOrderSchedulingById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¢åæ产å表 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return 订åæ产 |
| | | */ |
| | | @Override |
| | | public List<OmOrderScheduling> selectOmOrderSchedulingList(OmOrderScheduling omOrderScheduling) |
| | | { |
| | | return omOrderSchedulingMapper.selectOmOrderSchedulingList(omOrderScheduling); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertOmOrderScheduling(OmOrderScheduling omOrderScheduling) |
| | | { |
| | | List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>().eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode())); |
| | | if (CollUtil.isNotEmpty(list)){ |
| | | throw new ServiceException(MessageFormat.format("å·²åå¨æ»æåºåå·ä¸º{0}çæ°æ®",omOrderScheduling.getSfcCode())); |
| | | } |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | omOrderScheduling.setCreateTime(new Date()); |
| | | omOrderScheduling.setUpdateTime(new Date()); |
| | | omOrderScheduling.setCreateBy(user.getUserName()); |
| | | omOrderScheduling.setUpdateBy(user.getUserName()); |
| | | return omOrderSchedulingMapper.insertOmOrderScheduling(omOrderScheduling); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¢åæ产 |
| | | * |
| | | * @param omOrderScheduling 订åæ产 |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateOmOrderScheduling(OmOrderScheduling omOrderScheduling) |
| | | { |
| | | List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>() |
| | | .eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode()) |
| | | .notIn(OmOrderScheduling::getId,omOrderScheduling.getId())); |
| | | if (CollUtil.isNotEmpty(list)){ |
| | | throw new ServiceException(MessageFormat.format("å·²åå¨æ»æåºåå·ä¸º{0}çæ°æ®",omOrderScheduling.getSfcCode())); |
| | | } |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | omOrderScheduling.setUpdateTime(new Date()); |
| | | omOrderScheduling.setUpdateBy(user.getUserName()); |
| | | return omOrderSchedulingMapper.updateOmOrderScheduling(omOrderScheduling); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤è®¢åæ产 |
| | | * |
| | | * @param ids éè¦å é¤ç订åæäº§ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteOmOrderSchedulingByIds(Long[] ids) |
| | | { |
| | | return omOrderSchedulingMapper.deleteOmOrderSchedulingByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¢åæäº§ä¿¡æ¯ |
| | | * |
| | | * @param id 订åæäº§ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteOmOrderSchedulingById(Long id) |
| | | { |
| | | return omOrderSchedulingMapper.deleteOmOrderSchedulingById(id); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.billion.main.om.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.billion.common.core.domain.entity.SysUser; |
| | | import com.billion.common.core.domain.model.LoginUser; |
| | | import com.billion.common.exception.ServiceException; |
| | | import com.billion.common.utils.SecurityUtils; |
| | | import com.billion.main.common.BaseEntity; |
| | | import com.billion.main.om.domain.OmProductionOrderInfo; |
| | | import com.billion.main.om.mapper.OmProductionOrderInfoMapper; |
| | | import com.billion.main.om.service.IOmProductionOrderInfoService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | /** |
| | | * ç产工åServiceä¸å¡å±å¤ç |
| | | * |
| | | * @author Billion |
| | | * @date 2024-11-20 |
| | | */ |
| | | @Service |
| | | public class OmProductionOrderInfoServiceImpl extends ServiceImpl<OmProductionOrderInfoMapper, OmProductionOrderInfo> implements IOmProductionOrderInfoService |
| | | { |
| | | @Resource |
| | | private OmProductionOrderInfoMapper OmProductionOrderInfoMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢ç产工å |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç产工å |
| | | */ |
| | | @Override |
| | | public OmProductionOrderInfo selectOmProductionOrderInfoById(Long id) |
| | | { |
| | | return OmProductionOrderInfoMapper.selectOmProductionOrderInfoById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ç产工åå表 |
| | | * |
| | | * @param OmProductionOrderInfo ç产工å |
| | | * @return ç产工å |
| | | */ |
| | | @Override |
| | | public List<OmProductionOrderInfo> selectOmProductionOrderInfoList(OmProductionOrderInfo OmProductionOrderInfo) |
| | | { |
| | | return OmProductionOrderInfoMapper.selectOmProductionOrderInfoList(OmProductionOrderInfo); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ç产工å |
| | | * |
| | | * @param omProductionOrderInfo ç产工å |
| | | */ |
| | | @Override |
| | | public void insertOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo) |
| | | { |
| | | List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>().eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo())); |
| | | if (CollUtil.isNotEmpty(checkList)){ |
| | | throw new ServiceException("å·²åå¨å·¥åç¼å·ä¸º"+omProductionOrderInfo.getWorkOrderNo()+"çæ°æ®"); |
| | | } |
| | | this.save(omProductionOrderInfo); |
| | | |
| | | // LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | // SysUser user = loginUser.getUser(); |
| | | // OmProductionOrderInfo.setCreateTime(new Date()); |
| | | // OmProductionOrderInfo.setUpdateTime(new Date()); |
| | | // OmProductionOrderInfo.setCreateBy(user.getUserName()); |
| | | // OmProductionOrderInfo.setUpdateBy(user.getUserName()); |
| | | // OmProductionOrderInfo.setOrderStatus(Constant.ORDER_STATUS_NOT_START); |
| | | // return OmProductionOrderInfoMapper.insertOmProductionOrderInfo(OmProductionOrderInfo); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ç产工å |
| | | * |
| | | * @param omProductionOrderInfo ç产工å |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo) |
| | | { |
| | | List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>() |
| | | .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo()) |
| | | .notIn(BaseEntity::getId,omProductionOrderInfo.getId())); |
| | | // .stream().filter(x -> !x.getId().equals(omProductionOrderInfo.getId())) |
| | | // .collect(Collectors.toList()); |
| | | if (CollUtil.isNotEmpty(checkList)){ |
| | | throw new ServiceException("å·²åå¨å·¥åç¼å·ä¸º"+omProductionOrderInfo.getWorkOrderNo()+"çæ°æ®"); |
| | | } |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | omProductionOrderInfo.setUpdateTime(new Date()); |
| | | omProductionOrderInfo.setUpdateBy(user.getUserName()); |
| | | return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ç产工å |
| | | * |
| | | * @param ids éè¦å é¤çç产工åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteOmProductionOrderInfoByIds(Long[] ids) |
| | | { |
| | | return OmProductionOrderInfoMapper.deleteOmProductionOrderInfoByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ç产工åä¿¡æ¯ |
| | | * |
| | | * @param id ç产工åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteOmProductionOrderInfoById(Long id) |
| | | { |
| | | return OmProductionOrderInfoMapper.deleteOmProductionOrderInfoById(id); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.billion.main.om.mapper.OmOrderSchedulingMapper"> |
| | | |
| | | <resultMap type="OmOrderScheduling" id="OmOrderSchedulingResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="workOrderNo" column="work_order_no" /> |
| | | <result property="sfcCode" column="sfc_code" /> |
| | | <result property="productCode" column="product_code" /> |
| | | <result property="onlineTime" column="online_time" /> |
| | | <result property="offlineTime" column="offline_time" /> |
| | | <result property="qualityStatus" column="quality_status" /> |
| | | <result property="status" column="status" /> |
| | | <result property="createBy" column="create_by" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="updateBy" column="update_by" /> |
| | | <result property="updateTime" column="update_time" /> |
| | | <result property="remarks" column="remarks" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectOmOrderSchedulingVo"> |
| | | select id, work_order_no, sfc_code, product_code, online_time, offline_time, quality_status, status, create_by, create_time, update_by, update_time, remarks from om_order_scheduling |
| | | </sql> |
| | | |
| | | <select id="selectOmOrderSchedulingList" parameterType="OmOrderScheduling" resultMap="OmOrderSchedulingResult"> |
| | | <include refid="selectOmOrderSchedulingVo"/> |
| | | <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="params.beginOnlineTime != null and params.beginOnlineTime != '' and params.endOnlineTime != null and params.endOnlineTime != ''"> and online_time between #{params.beginOnlineTime} and #{params.endOnlineTime}</if> |
| | | <if test="params.beginOfflineTime != null and params.beginOfflineTime != '' and params.endOfflineTime != null and params.endOfflineTime != ''"> and offline_time between #{params.beginOfflineTime} and #{params.endOfflineTime}</if> |
| | | <if test="status != null and status != ''"> and status = #{status}</if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectOmOrderSchedulingById" parameterType="Long" resultMap="OmOrderSchedulingResult"> |
| | | <include refid="selectOmOrderSchedulingVo"/> |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertOmOrderScheduling" parameterType="OmOrderScheduling"> |
| | | insert into om_order_scheduling |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if> |
| | | <if test="sfcCode != null and sfcCode != ''">sfc_code,</if> |
| | | <if test="productCode != null and productCode != ''">product_code,</if> |
| | | <if test="onlineTime != null">online_time,</if> |
| | | <if test="offlineTime != null">offline_time,</if> |
| | | <if test="qualityStatus != null">quality_status,</if> |
| | | <if test="status != null">status,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="remarks != null">remarks,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if> |
| | | <if test="sfcCode != null and sfcCode != ''">#{sfcCode},</if> |
| | | <if test="productCode != null and productCode != ''">#{productCode},</if> |
| | | <if test="onlineTime != null">#{onlineTime},</if> |
| | | <if test="offlineTime != null">#{offlineTime},</if> |
| | | <if test="qualityStatus != null">#{qualityStatus},</if> |
| | | <if test="status != null">#{status},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | | <if test="remarks != null">#{remarks},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateOmOrderScheduling" parameterType="OmOrderScheduling"> |
| | | update om_order_scheduling |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if> |
| | | <if test="sfcCode != null and sfcCode != ''">sfc_code = #{sfcCode},</if> |
| | | <if test="productCode != null and productCode != ''">product_code = #{productCode},</if> |
| | | <if test="onlineTime != null">online_time = #{onlineTime},</if> |
| | | <if test="offlineTime != null">offline_time = #{offlineTime},</if> |
| | | <if test="qualityStatus != null">quality_status = #{qualityStatus},</if> |
| | | <if test="status != null">status = #{status},</if> |
| | | <if test="createBy != null">create_by = #{createBy},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |
| | | <if test="remarks != null">remarks = #{remarks},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <delete id="deleteOmOrderSchedulingById" parameterType="Long"> |
| | | delete from om_order_scheduling where id = #{id} |
| | | </delete> |
| | | |
| | | <delete id="deleteOmOrderSchedulingByIds" parameterType="String"> |
| | | delete from om_order_scheduling where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </delete> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.billion.main.om.mapper.OmProductionOrderInfoMapper"> |
| | | |
| | | <resultMap type="OmProductionOrderInfo" id="OmProductionOrderInfoResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="workOrderNo" column="work_order_no" /> |
| | | <result property="salesOrderCode" column="sales_order_code" /> |
| | | <result property="productCode" column="product_code" /> |
| | | <result property="lineCode" column="line_code" /> |
| | | <result property="planQty" column="plan_qty" /> |
| | | <result property="planStartTime" column="plan_start_time" /> |
| | | <result property="planEndTime" column="plan_end_time" /> |
| | | <result property="orderStatus" column="order_status" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="updateTime" column="update_time" /> |
| | | <result property="createBy" column="create_by" /> |
| | | <result property="updateBy" column="update_by" /> |
| | | <result property="remarks" column="remarks" /> |
| | | <result property="delFlag" column="del_flag" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectOmProductionOrderInfoVo"> |
| | | select id, work_order_no, sales_order_code, product_code, line_code, plan_qty, plan_start_time, plan_end_time, order_status, create_time, update_time, create_by, update_by, remarks, del_flag from om_production_order_info |
| | | </sql> |
| | | |
| | | <select id="selectOmProductionOrderInfoList" parameterType="OmProductionOrderInfo" resultMap="OmProductionOrderInfoResult"> |
| | | <include refid="selectOmProductionOrderInfoVo"/> |
| | | <where> |
| | | <if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if> |
| | | <if test="salesOrderCode != null and salesOrderCode != ''"> and sales_order_code = #{salesOrderCode}</if> |
| | | <if test="productCode != null and productCode != ''"> and product_code = #{productCode}</if> |
| | | <if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> |
| | | and del_flag = "0" |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectOmProductionOrderInfoById" parameterType="Long" resultMap="OmProductionOrderInfoResult"> |
| | | <include refid="selectOmProductionOrderInfoVo"/> |
| | | where id = #{id} and del_flag = "0" |
| | | </select> |
| | | |
| | | <insert id="insertOmProductionOrderInfo" parameterType="OmProductionOrderInfo" useGeneratedKeys="true" keyProperty="id"> |
| | | insert into om_production_order_info |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if> |
| | | <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code,</if> |
| | | <if test="productCode != null and productCode != ''">product_code,</if> |
| | | <if test="lineCode != null and lineCode != ''">line_code,</if> |
| | | <if test="planQty != null">plan_qty,</if> |
| | | <if test="planStartTime != null">plan_start_time,</if> |
| | | <if test="planEndTime != null">plan_end_time,</if> |
| | | <if test="orderStatus != null">order_status,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="remarks != null">remarks,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if> |
| | | <if test="salesOrderCode != null and salesOrderCode != ''">#{salesOrderCode},</if> |
| | | <if test="productCode != null and productCode != ''">#{productCode},</if> |
| | | <if test="lineCode != null and lineCode != ''">#{lineCode},</if> |
| | | <if test="planQty != null">#{planQty},</if> |
| | | <if test="planStartTime != null">#{planStartTime},</if> |
| | | <if test="planEndTime != null">#{planEndTime},</if> |
| | | <if test="orderStatus != null">#{orderStatus},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="remarks != null">#{remarks},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateOmProductionOrderInfo" parameterType="OmProductionOrderInfo"> |
| | | update om_production_order_info |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if> |
| | | <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code = #{salesOrderCode},</if> |
| | | <if test="productCode != null and productCode != ''">product_code = #{productCode},</if> |
| | | <if test="lineCode != null and lineCode != ''">line_code = #{lineCode},</if> |
| | | <if test="planQty != null">plan_qty = #{planQty},</if> |
| | | <if test="planStartTime != null">plan_start_time = #{planStartTime},</if> |
| | | <if test="planEndTime != null">plan_end_time = #{planEndTime},</if> |
| | | <if test="orderStatus != null">order_status = #{orderStatus},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |
| | | <if test="createBy != null">create_by = #{createBy},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="remarks != null">remarks = #{remarks},</if> |
| | | <if test="delFlag != null">del_flag = #{delFlag},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteOmProductionOrderInfoById" parameterType="Long"> |
| | | update om_production_order_info set del_flag = "1" where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteOmProductionOrderInfoByIds" parameterType="String"> |
| | | update om_production_order_info set del_flag = "1" where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢ç产工åå表 |
| | | export function listInfo(query) { |
| | | return request({ |
| | | url: '/main/info/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function getOrderList() { |
| | | return request({ |
| | | url: '/main/info/getOrderList', |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢ç产工åè¯¦ç» |
| | | export function getInfo(id) { |
| | | return request({ |
| | | url: '/main/info/' + id, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢ç产工å |
| | | export function addInfo(data) { |
| | | return request({ |
| | | url: '/main/info', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // ä¿®æ¹ç产工å |
| | | export function updateInfo(data) { |
| | | return request({ |
| | | url: '/main/info', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // å é¤ç产工å |
| | | export function delInfo(id) { |
| | | return request({ |
| | | url: '/main/info/' + id, |
| | | method: 'delete' |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢è®¢åæ产å表 |
| | | export function listScheduling(query) { |
| | | return request({ |
| | | url: '/main/scheduling/list', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢è®¢åæäº§è¯¦ç» |
| | | export function getScheduling(id) { |
| | | return request({ |
| | | url: '/main/scheduling/' + id, |
| | | method: 'get' |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢è®¢åæ产 |
| | | export function addScheduling(data) { |
| | | return request({ |
| | | url: '/main/scheduling', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // ä¿®æ¹è®¢åæ产 |
| | | export function updateScheduling(data) { |
| | | return request({ |
| | | url: '/main/scheduling', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // å é¤è®¢åæ产 |
| | | export function delScheduling(id) { |
| | | return request({ |
| | | url: '/main/scheduling/' + id, |
| | | method: 'delete' |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px"> |
| | | <el-form-item label="å·¥åç¼å·" prop="workOrderNo"> |
| | | <el-input |
| | | v-model="queryParams.workOrderNo" |
| | | placeholder="请è¾å
¥å·¥åç¼å·" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="订åç¼å·" prop="salesOrderCode"> |
| | | <el-input |
| | | v-model="queryParams.salesOrderCode" |
| | | placeholder="请è¾å
¥è®¢åç¼å·" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="产åç¼å·" prop="productCode"> |
| | | <el-input |
| | | v-model="queryParams.productCode" |
| | | placeholder="请è¾å
¥äº§åç¼å·" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åç¶æ" prop="orderStatus"> |
| | | <el-select v-model="queryParams.orderStatus" placeholder="请éæ©å·¥åç¶æ" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.order_status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item style="float: right; margin-right: 90px"> |
| | | <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-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | |
| | | <div style="width: 600px"> |
| | | <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="['main:info:add']" |
| | | >æ°å¢</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['main:info:edit']" |
| | | >ä¿®æ¹</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['main:info:remove']" |
| | | >å é¤</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['main:info:export']" |
| | | >导åº</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-receiving" |
| | | size="mini" |
| | | @click="handleReceive" |
| | | >æ¥æ¶å·¥å</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | :disabled="multiple" |
| | | icon="el-icon-magic-stick" |
| | | size="mini" |
| | | @click="handleCreate" |
| | | >çæ</el-button> |
| | | </el-col> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="å·¥åç¼å·" align="center" prop="workOrderNo"> |
| | | <template slot-scope="scope"> |
| | | <a style="color: #7099F9" @click="orderDetail(scope.row.workOrderNo)" >{{scope.row.workOrderNo}} |
| | | </a> |
| | | <!-- <div @click="orderDetail(scope.row.workOrderNo)">{{scope.row.workOrderNo}}</div>--> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订åç¼å·" align="center" prop="salesOrderCode" /> |
| | | <el-table-column label="产åç¼å·" align="center" prop="productCode" /> |
| | | <el-table-column label="产线ç¼å·" align="center" prop="lineCode" /> |
| | | <el-table-column label="计åæ°é" align="center" prop="planQty" /> |
| | | <el-table-column label="计åå¼å§æ¶é´" align="center" prop="planStartTime" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计åç»ææ¶é´" align="center" prop="planEndTime" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å·¥åç¶æ" align="center" prop="orderStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.order_status" :value="scope.row.orderStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ´æ°æ¶é´" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ´æ°ç¨æ·" align="center" prop="updateBy" /> |
| | | <el-table-column label="å¤æ³¨" width="180px" show-overflow-tooltip align="center" prop="remarks" /> |
| | | <!-- <el-table-column label="æä½" align="center" class-name="small-padding fixed-width">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- icon="el-icon-edit"--> |
| | | <!-- @click="handleUpdate(scope.row)"--> |
| | | <!-- v-hasPermi="['main:info:edit']"--> |
| | | <!-- >ä¿®æ¹</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- @click="handleDelete(scope.row)"--> |
| | | <!-- v-hasPermi="['main:info:remove']"--> |
| | | <!-- >å é¤</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- æ·»å æä¿®æ¹ç产工å对è¯æ¡ --> |
| | | <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-form-item label="å·¥åç¼å·" prop="workOrderNo"> |
| | | <el-input v-model="form.workOrderNo" placeholder="请è¾å
¥å·¥åç¼å·" /> |
| | | </el-form-item> |
| | | <el-form-item label="订åç¼å·" prop="salesOrderCode"> |
| | | <el-input v-model="form.salesOrderCode" placeholder="请è¾å
¥è®¢åç¼å·" /> |
| | | </el-form-item> |
| | | <el-form-item label="产åç¼å·" prop="productCode"> |
| | | <el-input v-model="form.productCode" placeholder="请è¾å
¥äº§åç¼å·" /> |
| | | </el-form-item> |
| | | <el-form-item label="产线ç¼å·" prop="lineCode"> |
| | | <el-input v-model="form.lineCode" placeholder="请è¾å
¥äº§çº¿ç¼å·" /> |
| | | </el-form-item> |
| | | <el-form-item label="计åæ°é" prop="planQty"> |
| | | <el-input v-model="form.planQty" placeholder="请è¾å
¥è®¡åæ°é" /> |
| | | </el-form-item> |
| | | <el-form-item label="计åå¼å§æ¶é´" prop="planStartTime"> |
| | | <el-date-picker clearable |
| | | v-model="form.planStartTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请éæ©è®¡åå¼å§æ¶é´"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="计åç»ææ¶é´" prop="planEndTime"> |
| | | <el-date-picker clearable |
| | | v-model="form.planEndTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请éæ©è®¡åç»ææ¶é´"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åç¶æ" prop="orderStatus" v-if = updateFlag> |
| | | <el-radio-group v-model="form.orderStatus"> |
| | | <el-radio |
| | | v-for="dict in dict.type.order_status" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="å¤æ³¨" prop="remarks"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请è¾å
¥å¤æ³¨" |
| | | v-model="form.remarks" |
| | | maxlength="30" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">ç¡® å®</el-button> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="å·¥å详æ
" |
| | | :visible.sync="detailVisible" |
| | | width="80%" |
| | | center> |
| | | <el-table v-loading="detailLoading" :data="schedulingList"> |
| | | <el-table-column label="å·¥åç¼å·" align="center" prop="workOrderNo" /> |
| | | <el-table-column label="æ»æåºåå·" width="180px" align="center" prop="sfcCode" /> |
| | | <el-table-column label="产åç¼ç " align="center" prop="productCode" /> |
| | | <el-table-column label="ä¸çº¿æ¶é´" align="center" prop="onlineTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.onlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸çº¿æ¶é´" align="center" prop="offlineTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.offlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è´¨éç¶æ" align="center" prop="qualityStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.product_status" :value="scope.row.qualityStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" align="center" prop="status"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.status" :value="scope.row.status"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ´æ°ç¨æ·" align="center" prop="updateBy" /> |
| | | <el-table-column label="æ´æ°æ¶é´" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å¤æ³¨" width="180px" show-overflow-tooltip align="center" prop="remarks" /> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="detailTotal>0" |
| | | :total="detailTotal" |
| | | :page.sync="queryDetailParams.pageNum" |
| | | :limit.sync="queryDetailParams.pageSize" |
| | | @pagination="getDetail" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <!-- <el-button @click="detailVisible = false">å æ¶</el-button>--> |
| | | <!-- <el-button type="primary" @click="detailVisible = false">ç¡® å®</el-button>--> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/main/om/info"; |
| | | import {listScheduling} from "@/api/main/om/scheduling"; |
| | | |
| | | export default { |
| | | name: "Info", |
| | | dicts: ['order_status','product_status', 'status'], |
| | | data() { |
| | | return { |
| | | schedulingList: [], |
| | | detailVisible : false, |
| | | addFlag : false, |
| | | updateFlag : false, |
| | | // é®ç½©å± |
| | | loading: true, |
| | | detailLoading: true, |
| | | // éä¸æ°ç» |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // ç产工åè¡¨æ ¼æ°æ® |
| | | infoList: [], |
| | | // å¼¹åºå±æ é¢ |
| | | title: "", |
| | | // æ¯å¦æ¾ç¤ºå¼¹åºå± |
| | | open: false, |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | workOrderNo: null, |
| | | salesOrderCode: null, |
| | | productCode: null, |
| | | orderStatus: null, |
| | | }, |
| | | queryDetailParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | workOrderNo: null, |
| | | }, |
| | | detailTotal: 0, |
| | | // 表ååæ° |
| | | form: {}, |
| | | // 表åæ ¡éª |
| | | rules: { |
| | | workOrderNo: [ |
| | | { required: true, message: "å·¥åç¼å·ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | salesOrderCode: [ |
| | | { required: true, message: "订åç¼å·ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | productCode: [ |
| | | { required: true, message: "产åç¼å·ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | lineCode: [ |
| | | { required: true, message: "产线ç¼å·ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | planQty: [ |
| | | { required: true, message: "计åæ°éä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | planStartTime: [ |
| | | { required: true, message: "计åå¼å§æ¶é´ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | planEndTime: [ |
| | | { required: true, message: "计åç»ææ¶é´ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | orderDetail(workOrderNo){ |
| | | console.log('000',workOrderNo) |
| | | this.detailVisible = true |
| | | this.queryDetailParams.params = {} |
| | | this.queryDetailParams.workOrderNo = workOrderNo |
| | | this.getDetail() |
| | | }, |
| | | getDetail(){ |
| | | listScheduling(this.queryDetailParams).then(response => { |
| | | this.schedulingList = response.rows; |
| | | this.detailTotal = response.total; |
| | | this.detailLoading = false; |
| | | }); |
| | | }, |
| | | handleReceive(){ |
| | | this.$message({ |
| | | message: "é
ç½®æ¥æ¶æ¹æ³", |
| | | type: "info" |
| | | }) |
| | | }, |
| | | handleCreate(){ |
| | | this.$message({ |
| | | message: "é
ç½®çææ¹æ³", |
| | | type: "info" |
| | | }) |
| | | }, |
| | | /** æ¥è¯¢ç产工åå表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listInfo(this.queryParams).then(response => { |
| | | this.infoList = response.rows; |
| | | this.detailTotal = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // åæ¶æé® |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表åéç½® |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | workOrderNo: null, |
| | | salesOrderCode: null, |
| | | productCode: null, |
| | | lineCode: null, |
| | | planQty: null, |
| | | planStartTime: null, |
| | | planEndTime: null, |
| | | orderStatus: null, |
| | | createTime: null, |
| | | updateTime: null, |
| | | createBy: null, |
| | | updateBy: null, |
| | | remarks: null, |
| | | delFlag: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | this.addFlag = false |
| | | this.updateFlag = false |
| | | }, |
| | | /** æç´¢æé®æä½ */ |
| | | handleQuery() { |
| | | console.log('111') |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** éç½®æé®æä½ */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // å¤éæ¡éä¸æ°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** æ°å¢æé®æä½ */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.addFlag = true |
| | | this.open = true; |
| | | this.title = "æ·»å ç产工å"; |
| | | }, |
| | | /** ä¿®æ¹æé®æä½ */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | this.updateFlag = true |
| | | const id = row.id || this.ids |
| | | getInfo(id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "ä¿®æ¹ç产工å"; |
| | | }); |
| | | }, |
| | | /** æ交æé® */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | updateInfo(this.form).then(response => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addInfo(this.form).then(response => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤ï¼').then(function() { |
| | | return delInfo(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å é¤æå"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导åºæé®æä½ */ |
| | | handleExport() { |
| | | this.download('main/info/export', { |
| | | ...this.queryParams |
| | | }, `info_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px"> |
| | | <el-form-item label="å·¥åç¼å·" prop="workOrderNo"> |
| | | <el-input |
| | | v-model="queryParams.workOrderNo" |
| | | placeholder="请è¾å
¥å·¥åç¼å·" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æ»æåºåå·" prop="sfcCode"> |
| | | <el-input |
| | | v-model="queryParams.sfcCode" |
| | | placeholder="请è¾å
¥æ»æåºåå·" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="产åç¼ç " prop="productCode"> |
| | | <el-input |
| | | v-model="queryParams.productCode" |
| | | placeholder="请è¾å
¥äº§åç¼ç " |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="请éæ©ç¶æ" clearable> |
| | | <el-option |
| | | v-for="dict in dict.type.status" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸çº¿æ¶é´"> |
| | | <el-date-picker |
| | | v-model="daterangeOnlineTime" |
| | | style="width: 340px" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="-" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ä¸çº¿æ¶é´" prop="offlineTime"> |
| | | <el-date-picker |
| | | v-model="daterangeOfflineTime" |
| | | style="width: 340px" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="-" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item style="float: right; margin-right: 90px"> |
| | | <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-form-item> |
| | | </el-form> |
| | | |
| | | <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="['main:scheduling:add']" |
| | | >æ°å¢</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['main:scheduling:edit']" |
| | | >ä¿®æ¹</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['main:scheduling:remove']" |
| | | >å é¤</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['main:scheduling:export']" |
| | | >导åº</el-button> |
| | | </el-col> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="schedulingList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="å·¥åç¼å·" align="center" prop="workOrderNo" /> |
| | | <el-table-column label="æ»æåºåå·" width="180px" align="center" prop="sfcCode" /> |
| | | <el-table-column label="产åç¼ç " align="center" prop="productCode" /> |
| | | <el-table-column label="ä¸çº¿æ¶é´" align="center" prop="onlineTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.onlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸çº¿æ¶é´" align="center" prop="offlineTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.offlineTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="è´¨éç¶æ" align="center" prop="qualityStatus"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.product_status" :value="scope.row.qualityStatus"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" align="center" prop="status"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.status" :value="scope.row.status"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ´æ°ç¨æ·" align="center" prop="updateBy" /> |
| | | <el-table-column label="æ´æ°æ¶é´" align="center" prop="updateTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å¤æ³¨" width="180px" show-overflow-tooltip align="center" prop="remarks" /> |
| | | <!-- <el-table-column label="æä½" align="center" class-name="small-padding fixed-width">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- icon="el-icon-edit"--> |
| | | <!-- @click="handleUpdate(scope.row)"--> |
| | | <!-- v-hasPermi="['main:scheduling:edit']"--> |
| | | <!-- >ä¿®æ¹</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- @click="handleDelete(scope.row)"--> |
| | | <!-- v-hasPermi="['main:scheduling:remove']"--> |
| | | <!-- >å é¤</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <!-- æ·»å æä¿®æ¹è®¢åæ产对è¯æ¡ --> |
| | | <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | <el-form-item label="å·¥åç¼å·" prop="workOrderNo"> |
| | | <el-select v-model="form.workOrderNo" filterable placeholder="请éæ©å·¥åç¼å·" style="width: 360px"> |
| | | <el-option |
| | | v-for="item in workOrderNoOptions" |
| | | :key="item.value" |
| | | :label="item" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æ»æåºåå·" prop="sfcCode"> |
| | | <el-input v-model="form.sfcCode" placeholder="请è¾å
¥æ»æåºåå·" /> |
| | | </el-form-item> |
| | | <el-form-item label="产åç¼ç " prop="productCode"> |
| | | <el-input v-model="form.productCode" placeholder="请è¾å
¥äº§åç¼ç " /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="è´¨éç¶æ" prop="qualityStatus" v-if = updateFlag> |
| | | <el-radio-group v-model="form.qualityStatus"> |
| | | <el-radio |
| | | v-for="dict in dict.type.product_status" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status" v-if = updateFlag> |
| | | <el-radio-group v-model="form.status"> |
| | | <el-radio |
| | | v-for="dict in dict.type.status" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | >{{dict.label}}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="å¤æ³¨" prop="remarks"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请è¾å
¥å¤æ³¨" |
| | | v-model="form.remarks" |
| | | maxlength="30" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">ç¡® å®</el-button> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listScheduling, getScheduling, delScheduling, addScheduling, updateScheduling } from "@/api/main/om/scheduling"; |
| | | import {getOrderList} from "@/api/main/om/info"; |
| | | |
| | | export default { |
| | | name: "Scheduling", |
| | | dicts: ['product_status', 'status'], |
| | | data() { |
| | | return { |
| | | workOrderNoOptions: [], |
| | | addFlag : false, |
| | | updateFlag : false, |
| | | // é®ç½©å± |
| | | loading: true, |
| | | // éä¸æ°ç» |
| | | ids: [], |
| | | // éå个ç¦ç¨ |
| | | single: true, |
| | | // éå¤ä¸ªç¦ç¨ |
| | | multiple: true, |
| | | // æ¾ç¤ºæç´¢æ¡ä»¶ |
| | | showSearch: true, |
| | | // æ»æ¡æ° |
| | | total: 0, |
| | | // 订åæäº§è¡¨æ ¼æ°æ® |
| | | schedulingList: [], |
| | | // å¼¹åºå±æ é¢ |
| | | title: "", |
| | | // æ¯å¦æ¾ç¤ºå¼¹åºå± |
| | | open: false, |
| | | // å¤æ³¨æ¶é´èå´ |
| | | daterangeOnlineTime: [], |
| | | daterangeOfflineTime: [], |
| | | // æ¥è¯¢åæ° |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | workOrderNo: null, |
| | | sfcCode: null, |
| | | productCode: null, |
| | | onlineTime: null, |
| | | offlineTime: null, |
| | | status: null, |
| | | }, |
| | | // 表ååæ° |
| | | form: {}, |
| | | // 表åæ ¡éª |
| | | rules: { |
| | | workOrderNo: [ |
| | | { required: true, message: "å·¥åç¼å·ä¸è½ä¸ºç©º", trigger: "change" } |
| | | ], |
| | | sfcCode: [ |
| | | { required: true, message: "æ»æåºåå·ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | productCode: [ |
| | | { required: true, message: "产åç¼ç ä¸è½ä¸ºç©º", trigger: "blur" } |
| | | ], |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | getOrderList(){ |
| | | getOrderList().then(res => { |
| | | console.log('res',res) |
| | | if (res.code === 200){ |
| | | this.workOrderNoOptions = res.data |
| | | console.log('this.workOrderNoOptions',this.workOrderNoOptions) |
| | | } |
| | | }) |
| | | }, |
| | | /** æ¥è¯¢è®¢åæ产å表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.params = {}; |
| | | if (null != this.daterangeOnlineTime && '' != this.daterangeOnlineTime) { |
| | | this.queryParams.params["beginOnlineTime"] = this.daterangeOnlineTime[0]; |
| | | this.queryParams.params["endOnlineTime"] = this.daterangeOnlineTime[1]; |
| | | } |
| | | if (null != this.daterangeOfflineTime && '' != this.daterangeOfflineTime) { |
| | | this.queryParams.params["beginOfflineTime"] = this.daterangeOfflineTime[0]; |
| | | this.queryParams.params["endOfflineTime"] = this.daterangeOfflineTime[1]; |
| | | } |
| | | listScheduling(this.queryParams).then(response => { |
| | | this.schedulingList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // åæ¶æé® |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表åéç½® |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | workOrderNo: null, |
| | | sfcCode: null, |
| | | productCode: null, |
| | | onlineTime: null, |
| | | offlineTime: null, |
| | | qualityStatus: null, |
| | | status: null, |
| | | createBy: null, |
| | | createTime: null, |
| | | updateBy: null, |
| | | updateTime: null, |
| | | remarks: null |
| | | }; |
| | | this.resetForm("form"); |
| | | this.addFlag = false |
| | | this.updateFlag = false |
| | | }, |
| | | /** æç´¢æé®æä½ */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** éç½®æé®æä½ */ |
| | | resetQuery() { |
| | | this.daterangeOnlineTime = []; |
| | | this.daterangeOfflineTime = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // å¤éæ¡éä¸æ°æ® |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | this.single = selection.length!==1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** æ°å¢æé®æä½ */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.getOrderList() |
| | | this.addFlag = true |
| | | this.open = true; |
| | | this.title = "æ·»å 订åæ产"; |
| | | }, |
| | | /** ä¿®æ¹æé®æä½ */ |
| | | handleUpdate(row) { |
| | | this.reset(); |
| | | this.updateFlag = true |
| | | const id = row.id || this.ids |
| | | getScheduling(id).then(response => { |
| | | this.form = response.data; |
| | | this.open = true; |
| | | this.title = "ä¿®æ¹è®¢åæ产"; |
| | | }); |
| | | this.getOrderList() |
| | | }, |
| | | /** æ交æé® */ |
| | | submitForm() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | | updateScheduling(this.form).then(response => { |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addScheduling(this.form).then(response => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | /** å é¤æé®æä½ */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤ï¼').then(function() { |
| | | return delScheduling(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å é¤æå"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导åºæé®æä½ */ |
| | | handleExport() { |
| | | this.download('main/scheduling/export', { |
| | | ...this.queryParams |
| | | }, `scheduling_${new Date().getTime()}.xlsx`) |
| | | } |
| | | } |
| | | }; |
| | | </script> |