diff --git a/doc/设计文档/数据库设计/mes-pro.sql b/doc/设计文档/数据库设计/mes-pro.sql index 49604c9..bb1f722 100644 --- a/doc/设计文档/数据库设计/mes-pro.sql +++ b/doc/设计文档/数据库设计/mes-pro.sql @@ -269,7 +269,7 @@ create table pro_task ( end_time datetime comment '完成生产时间', color_code char(7) default '#00AEF3' comment '甘特图显示颜色', request_date datetime comment '需求日期', - status varchar(64) default 'NORMARL' comment '生产状态', + status varchar(64) default 'NORMAL' comment '生产状态', remark varchar(500) default '' comment '备注', attr1 varchar(64) default null comment '预留字段1', attr2 varchar(255) default null comment '预留字段2', @@ -602,8 +602,8 @@ create table pro_card_process ( drop table if exists pro_sn_process; create table pro_sn_process ( record_id bigint(20) not null auto_increment comment '流水ID', - sn_id bigint(20) not null comment '流转卡ID', - sn_code varchar(64) comment '流转卡编号', + sn_id bigint(20) not null comment 'SNID', + sn_code varchar(64) comment 'SN编号', seq_num int(11) default 1 comment '序号', process_id bigint(20) comment '工序ID', process_code varchar(64) comment '工序编号', diff --git a/doc/设计文档/数据库设计/mes-qc.sql b/doc/设计文档/数据库设计/mes-qc.sql index 6139973..d5cf7a1 100644 --- a/doc/设计文档/数据库设计/mes-qc.sql +++ b/doc/设计文档/数据库设计/mes-qc.sql @@ -472,6 +472,8 @@ create table qc_result_detail ( detail_id bigint(20) not null auto_increment comment '流水号', result_id bigint(20) not null comment '结果记录ID', index_id bigint(20) not null comment '检测项ID', + index_code varchar(64) comment '检测项编码', + index_name varchar(256) comment '检测项名称', index_type varchar(64) comment '检测项类型', qc_tool varchar(255) comment '检测工具', check_method varchar(500) comment '检测要求', diff --git a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java index ce45ec0..1ec347c 100644 --- a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java +++ b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java @@ -104,6 +104,10 @@ public class UserConstants public static final String STOCKTAKING_CODE ="STOCKTAKING_CODE"; //盘库单 public static final String FEEDBACK_CODE ="FEEDBACK_CODE"; //报工单 public static final String CARD_CODE = "CARD_CODE";//流转卡 + public static final String QC_IQC_CODE ="QC_IQC_CODE"; //来料检验单 + public static final String QC_IPQC_CODE ="QC_IPQC_CODE"; //过程检验单 + public static final String QC_OQC_CODE ="QC_OQC_CODE"; //出货检验单 + public static final String QC_RESULT_CODE ="QC_RESULT_CODE"; //检验结果编号(样品编号) /** * 单据的状态类型 @@ -200,6 +204,13 @@ public class UserConstants public static final String QC_TYPE_IPQC = "IPQC"; //过程检验单 public static final String QC_TYPE_OQC = "OQC"; //出货检验 + + public static final String QC_RESULT_TYPE_FLOAT = "FLOAT"; //浮动 + public static final String QC_RESULT_TYPE_TEXT = "TEXT"; //文本 + public static final String QC_RESULT_TYPE_INTEGER = "INTEGER"; //整数 + public static final String QC_RESULT_TYPE_DICT = "DICT"; //字典 + public static final String QC_RESULT_TYPE_FILE = "FILE"; //文件 + /** * 默认线边库对应的仓库、库区、库位编码 */ diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/controller/mobile/MdProductSIPMobController.java b/ktg-mes/src/main/java/com/ktg/mes/md/controller/mobile/MdProductSIPMobController.java index 628ee0f..8f01810 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/controller/mobile/MdProductSIPMobController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/controller/mobile/MdProductSIPMobController.java @@ -1,6 +1,7 @@ package com.ktg.mes.md.controller.mobile; import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; import com.ktg.common.core.page.TableDataInfo; import com.ktg.mes.md.domain.MdProductSip; import com.ktg.mes.md.service.IMdProductSipService; @@ -27,10 +28,9 @@ public class MdProductSIPMobController extends BaseController { * 查询产品SIP列表 */ @GetMapping("/list") - public TableDataInfo list(MdProductSip mdProductSip) + public AjaxResult list(MdProductSip mdProductSip) { - startPage(); List list = mdProductSipService.selectMdProductSipList(mdProductSip); - return getDataTable(list); + return AjaxResult.success(list); } } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/mobile/ProSnProcessMobController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/mobile/ProSnProcessMobController.java index 05c0aed..f89b180 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/mobile/ProSnProcessMobController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/mobile/ProSnProcessMobController.java @@ -7,8 +7,10 @@ import com.ktg.common.enums.BusinessType; import com.ktg.common.utils.StringUtils; import com.ktg.mes.md.domain.MdWorkstation; import com.ktg.mes.md.service.IMdWorkstationService; -import com.ktg.mes.pro.domain.ProSnProcess; +import com.ktg.mes.pro.domain.*; import com.ktg.mes.pro.service.IProSnProcessService; +import com.ktg.mes.pro.service.IProTaskService; +import com.ktg.mes.pro.service.IProWorkorderService; import com.ktg.mes.wm.domain.WmSn; import com.ktg.mes.wm.service.IWmSnService; import io.swagger.annotations.Api; @@ -43,6 +45,12 @@ public class ProSnProcessMobController extends BaseController { @Autowired private IMdWorkstationService mdWorkstationService; + @Autowired + private IProWorkorderService proWorkorderService; + + @Autowired + private IProTaskService proTaskService; + /** * 新增SN流转-工序信息 */ @@ -90,4 +98,47 @@ public class ProSnProcessMobController extends BaseController { return AjaxResult.success(proSnProcess); } + + /** + * 根据扫描到的SN编号查询此工作站分配的生产任务 + * @param snProcess + * @return + */ + @ApiOperation("根据流转卡号和工作站查询所有的生产任务") + @PreAuthorize("@ss.hasPermi('mes:pro:procard:list')") + @GetMapping("/getSnProTask") + public AjaxResult getCardProTask(ProSnProcess snProcess){ + + WmSn param = new WmSn(); + param.setSnCode(snProcess.getSnCode()); + List snList = wmSnService.selectWmSnList(param); + + WmSn sn = null; + if(CollectionUtils.isEmpty(snList)){ + return AjaxResult.error("SN编码无效!"); + }else { + sn = snList.get(0); + } + + if(!StringUtils.isNotNull(snProcess.getWorkstationId())){ + return AjaxResult.error("请传递工作站参数!"); + } + + ProWorkorder workorder = proWorkorderService.selectProWorkorderByWorkorderId(sn.getWorkorderId()); + if(StringUtils.isNotNull(workorder)){ + ProTask p = new ProTask(); + p.setWorkorderId(workorder.getWorkorderId()); + p.setWorkstationId(snProcess.getWorkstationId()); + List tasks = proTaskService.selectProTaskList(p); + if(CollectionUtils.isEmpty(tasks)){ + return AjaxResult.error("此工作站未被分配当前SN对应的生产任务!"); + } + + return AjaxResult.success(tasks); + }else{ + return AjaxResult.error("SN对应的生产工单无效!"); + } + + } + } diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/mobile/WmSnMobController.java b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/mobile/WmSnMobController.java index 44342a5..fbe32fb 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/mobile/WmSnMobController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/mobile/WmSnMobController.java @@ -11,6 +11,7 @@ import com.ktg.common.utils.StringUtils; import com.ktg.common.utils.poi.ExcelUtil; import com.ktg.mes.wm.domain.WmSn; import com.ktg.mes.wm.service.IWmSnService; +import com.ktg.mes.wm.utils.WmBarCodeUtil; import com.ktg.system.strategy.AutoCodeUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -33,6 +34,9 @@ public class WmSnMobController extends BaseController { @Autowired private AutoCodeUtil autoCodeUtil; + @Autowired + private WmBarCodeUtil wmBarCodeUtil; + /** * 查询SN码列表 */ @@ -58,11 +62,11 @@ public class WmSnMobController extends BaseController { @ApiOperation("根据生产工单和工作站查询所有SN流转记录") @GetMapping("/getStationList") public AjaxResult getStationList(WmSn sn){ - if(StringUtils.isNotNull(sn.getWorkorderId())){ + if(!StringUtils.isNotNull(sn.getWorkorderId())){ return AjaxResult.error("请输入生产工单ID参数"); } - if(StringUtils.isNotNull(sn.getWorkstationId())){ + if(!StringUtils.isNotNull(sn.getWorkstationId())){ return AjaxResult.error("请输入工作站ID参数"); } @@ -113,9 +117,10 @@ public class WmSnMobController extends BaseController { SNCode = autoCodeUtil.genSerialCode(UserConstants.SN_CODE,wmSn.getItemCode()); wmSn.setSnCode(SNCode); wmSnService.insertWmSn(wmSn); + wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_SN,wmSn.getSnId(),wmSn.getSnCode(),""); } } - return AjaxResult.success(); + return AjaxResult.success(wmSn); } /** diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmSn.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmSn.java index 42fe8e4..b1f1312 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmSn.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmSn.java @@ -52,6 +52,8 @@ public class WmSn extends BaseEntity private Long workorderId; + private String workorderCode; + private Date inputTime; private Long workstationId; @@ -155,6 +157,14 @@ public class WmSn extends BaseEntity this.attr1 = attr1; } + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + public Integer getSnNum() { return snNum; } @@ -211,12 +221,14 @@ public class WmSn extends BaseEntity this.inputTime = inputTime; } - public Long getWorkorderId() { - return workorderId; + public void setWorkorderId(Long workorderId) + { + this.workorderId = workorderId; } - public void setWorkorderId(Long workorderId) { - this.workorderId = workorderId; + public Long getWorkorderId() + { + return workorderId; } public Long getWorkstationId() { diff --git a/ktg-mes/src/main/resources/mapper/qc/QcIpqcMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcIpqcMapper.xml index ee0b5aa..650262a 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcIpqcMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcIpqcMapper.xml @@ -100,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and inspect_date = #{inspectDate} and inspector = #{inspector} and status = #{status} + and create_by = #{createBy} order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml index fb0a9c2..268eeaf 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcIqcMapper.xml @@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and inspect_date = #{inspectDate} and inspector = #{inspector} and status = #{status} + and create_by = #{createBy} order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/qc/QcOqcMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcOqcMapper.xml index 4493653..c0dd03b 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcOqcMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcOqcMapper.xml @@ -90,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and inspect_date = #{inspectDate} and inspector = #{inspector} and status = #{status} + and create_by = #{createBy} order by create_time desc diff --git a/ktg-mes/src/main/resources/mapper/qc/QcResultDetailMapper.xml b/ktg-mes/src/main/resources/mapper/qc/QcResultDetailMapper.xml index 87f315f..c40f216 100644 --- a/ktg-mes/src/main/resources/mapper/qc/QcResultDetailMapper.xml +++ b/ktg-mes/src/main/resources/mapper/qc/QcResultDetailMapper.xml @@ -40,29 +40,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -68,10 +69,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"