流转卡相关功能

This commit is contained in:
yinjinlu-pc\尹金路 2024-11-24 11:41:57 +08:00
parent b09e6ce058
commit 9d1089843a
32 changed files with 3047 additions and 48 deletions

View File

@ -371,51 +371,6 @@ create table pro_task_issue (
) engine=innodb auto_increment=200 comment = '生产任务投料表';
-- ----------------------------
-- 4、流转单表
-- ----------------------------
drop table if exists pro_trans_order;
create table pro_trans_order (
trans_order_id bigint(20) not null auto_increment comment '流转单ID',
trans_order_code varchar(64) comment '流转单编号',
task_id bigint(20) not null comment '生产任务ID',
task_code varchar(64) comment '生产任务编号',
workstation_id bigint(20) not null comment '工作站ID',
workstation_code varchar(64) comment '工作站编号',
workstation_name varchar(255) comment '工作站名称',
process_id bigint(20) comment '工序ID',
process_code varchar(64) comment '工序编号',
process_name varchar(255) comment '工序名称',
workorder_id bigint(20) comment '生产工单ID',
workorder_code varchar(64) comment '生产工单编号',
workorder_name varchar(255) comment '生产工单名称',
batch_code varchar(64) comment '批次号',
item_id bigint(20) comment '产品物料ID',
item_code varchar(64) not null comment '产品物料编码',
item_name varchar(255) not null comment '产品物料名称',
specification varchar(500) default null comment '规格型号',
unit_of_measure varchar(64) not null comment '单位',
barcode_url varchar(255) comment '赋码地址',
quantity_transfered double(12,2) comment '流转数量',
produce_date datetime comment '生产日期',
remark varchar(500) default '' comment '备注',
attr1 varchar(64) default null comment '预留字段1',
attr2 varchar(255) default null comment '预留字段2',
attr3 int(11) default 0 comment '预留字段3',
attr4 int(11) default 0 comment '预留字段4',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
primary key (trans_order_id)
) engine=innodb auto_increment=200 comment = '流转单表';
-- ----------------------------
-- 4、物料消耗记录表
-- ----------------------------
@ -640,3 +595,45 @@ create table pro_card_process (
) engine=innodb auto_increment=200 comment = '工序流转卡-工序信息表';
-- ----------------------------
-- 4、SN流转-工序信息表
-- ----------------------------
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 '流转卡编号',
seq_num int(11) default 1 comment '序号',
process_id bigint(20) comment '工序ID',
process_code varchar(64) comment '工序编号',
process_name varchar(255) comment '工序名称',
input_time datetime comment '进入工序时间',
output_time datetime comment '出工序时间',
quantity_input double(12,2) comment '投入数量',
quantity_output double(12,2) comment '产出数量',
quantity_unquanlify double(12,2) comment '不合格品数量',
workstation_id bigint(20) not null comment '工作站ID',
workstation_code varchar(64) comment '工作站编号',
workstation_name varchar(125) comment '工作站名称',
user_id bigint(20) not null comment '用户ID',
user_name varchar(64) comment '用户名',
nick_name varchar(125) comment '名称',
ipqc_id bigint(20) comment '过程检验单ID',
remark varchar(500) default '' comment '备注',
attr1 varchar(64) default null comment '预留字段1',
attr2 varchar(255) default null comment '预留字段2',
attr3 int(11) default 0 comment '预留字段3',
attr4 int(11) default 0 comment '预留字段4',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
primary key (record_id)
) engine=innodb auto_increment=200 comment = 'SN流转-工序信息表';

View File

@ -1183,6 +1183,8 @@ create table wm_sn (
specification varchar(500) comment '规格型号',
unit_of_measure varchar(64) comment '单位',
batch_code varchar(255) comment '批次号',
gen_date datetime comment '生成时间',
workorder_id bigint(20) comment '生产工单ID',
remark varchar(500) default '' comment '备注',
attr1 varchar(64) default null comment '预留字段1',
attr2 varchar(255) default null comment '预留字段2',

View File

@ -103,6 +103,7 @@ public class UserConstants
public static final String TRANSFER_CODE ="TRANSFER_CODE"; //移库
public static final String STOCKTAKING_CODE ="STOCKTAKING_CODE"; //盘库单
public static final String FEEDBACK_CODE ="FEEDBACK_CODE"; //报工单
public static final String CARD_CODE = "CARD_CODE";//流转卡
/**
* 单据的状态类型

View File

@ -0,0 +1,111 @@
package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.pro.domain.ProWorkorder;
import com.ktg.mes.pro.service.IProWorkorderService;
import com.ktg.system.strategy.AutoCodeUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.mes.pro.domain.ProCard;
import com.ktg.mes.pro.service.IProCardService;
import com.ktg.common.utils.poi.ExcelUtil;
import com.ktg.common.core.page.TableDataInfo;
/**
* 工序流转卡Controller
*
* @author yinjinlu
* @date 2024-07-04
*/
@RestController
@RequestMapping("/mes/pro/procard")
public class ProCardController extends BaseController
{
@Autowired
private IProCardService proCardService;
/**
* 查询工序流转卡列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:list')")
@GetMapping("/list")
public TableDataInfo list(ProCard proCard)
{
startPage();
List<ProCard> list = proCardService.selectProCardList(proCard);
return getDataTable(list);
}
/**
* 导出工序流转卡列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:export')")
@Log(title = "工序流转卡", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProCard proCard)
{
List<ProCard> list = proCardService.selectProCardList(proCard);
ExcelUtil<ProCard> util = new ExcelUtil<ProCard>(ProCard.class);
util.exportExcel(response, list, "工序流转卡数据");
}
/**
* 获取工序流转卡详细信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:query')")
@GetMapping(value = "/{cardId}")
public AjaxResult getInfo(@PathVariable("cardId") Long cardId)
{
return AjaxResult.success(proCardService.selectProCardByCardId(cardId));
}
/**
* 新增工序流转卡
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:add')")
@Log(title = "工序流转卡", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProCard proCard)
{
return toAjax(proCardService.insertProCard(proCard));
}
/**
* 修改工序流转卡
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:edit')")
@Log(title = "工序流转卡", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProCard proCard)
{
return toAjax(proCardService.updateProCard(proCard));
}
/**
* 删除工序流转卡
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:remove')")
@Log(title = "工序流转卡", businessType = BusinessType.DELETE)
@DeleteMapping("/{cardIds}")
public AjaxResult remove(@PathVariable Long[] cardIds)
{
return toAjax(proCardService.deleteProCardByCardIds(cardIds));
}
}

View File

@ -0,0 +1,104 @@
package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.mes.pro.domain.ProCardProcess;
import com.ktg.mes.pro.service.IProCardProcessService;
import com.ktg.common.utils.poi.ExcelUtil;
import com.ktg.common.core.page.TableDataInfo;
/**
* 工序流转卡-工序信息Controller
*
* @author yinjinlu
* @date 2024-07-04
*/
@RestController
@RequestMapping("/mes/pro/procardprocess")
public class ProCardProcessController extends BaseController
{
@Autowired
private IProCardProcessService proCardProcessService;
/**
* 查询工序流转卡-工序信息列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:list')")
@GetMapping("/list")
public TableDataInfo list(ProCardProcess proCardProcess)
{
startPage();
List<ProCardProcess> list = proCardProcessService.selectProCardProcessList(proCardProcess);
return getDataTable(list);
}
/**
* 导出工序流转卡-工序信息列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:export')")
@Log(title = "工序流转卡-工序信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProCardProcess proCardProcess)
{
List<ProCardProcess> list = proCardProcessService.selectProCardProcessList(proCardProcess);
ExcelUtil<ProCardProcess> util = new ExcelUtil<ProCardProcess>(ProCardProcess.class);
util.exportExcel(response, list, "工序流转卡-工序信息数据");
}
/**
* 获取工序流转卡-工序信息详细信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:query')")
@GetMapping(value = "/{recordId}")
public AjaxResult getInfo(@PathVariable("recordId") Long recordId)
{
return AjaxResult.success(proCardProcessService.selectProCardProcessByRecordId(recordId));
}
/**
* 新增工序流转卡-工序信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:add')")
@Log(title = "工序流转卡-工序信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProCardProcess proCardProcess)
{
return toAjax(proCardProcessService.insertProCardProcess(proCardProcess));
}
/**
* 修改工序流转卡-工序信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:edit')")
@Log(title = "工序流转卡-工序信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProCardProcess proCardProcess)
{
return toAjax(proCardProcessService.updateProCardProcess(proCardProcess));
}
/**
* 删除工序流转卡-工序信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procardprocess:remove')")
@Log(title = "工序流转卡-工序信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{recordIds}")
public AjaxResult remove(@PathVariable Long[] recordIds)
{
return toAjax(proCardProcessService.deleteProCardProcessByRecordIds(recordIds));
}
}

View File

@ -0,0 +1,104 @@
package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.mes.pro.domain.ProSnProcess;
import com.ktg.mes.pro.service.IProSnProcessService;
import com.ktg.common.utils.poi.ExcelUtil;
import com.ktg.common.core.page.TableDataInfo;
/**
* SN流转-工序信息Controller
*
* @author yinjinlu
* @date 2024-11-22
*/
@RestController
@RequestMapping("/mes/pro/prosnprocess")
public class ProSnProcessController extends BaseController
{
@Autowired
private IProSnProcessService proSnProcessService;
/**
* 查询SN流转-工序信息列表
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:list')")
@GetMapping("/list")
public TableDataInfo list(ProSnProcess proSnProcess)
{
startPage();
List<ProSnProcess> list = proSnProcessService.selectProSnProcessList(proSnProcess);
return getDataTable(list);
}
/**
* 导出SN流转-工序信息列表
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:export')")
@Log(title = "SN流转-工序信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProSnProcess proSnProcess)
{
List<ProSnProcess> list = proSnProcessService.selectProSnProcessList(proSnProcess);
ExcelUtil<ProSnProcess> util = new ExcelUtil<ProSnProcess>(ProSnProcess.class);
util.exportExcel(response, list, "SN流转-工序信息数据");
}
/**
* 获取SN流转-工序信息详细信息
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:query')")
@GetMapping(value = "/{recordId}")
public AjaxResult getInfo(@PathVariable("recordId") Long recordId)
{
return AjaxResult.success(proSnProcessService.selectProSnProcessByRecordId(recordId));
}
/**
* 新增SN流转-工序信息
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:add')")
@Log(title = "SN流转-工序信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProSnProcess proSnProcess)
{
return toAjax(proSnProcessService.insertProSnProcess(proSnProcess));
}
/**
* 修改SN流转-工序信息
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:edit')")
@Log(title = "SN流转-工序信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProSnProcess proSnProcess)
{
return toAjax(proSnProcessService.updateProSnProcess(proSnProcess));
}
/**
* 删除SN流转-工序信息
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:remove')")
@Log(title = "SN流转-工序信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{recordIds}")
public AjaxResult remove(@PathVariable Long[] recordIds)
{
return toAjax(proSnProcessService.deleteProSnProcessByRecordIds(recordIds));
}
}

View File

@ -0,0 +1,119 @@
package com.ktg.mes.pro.controller.mobile;
import com.ktg.common.annotation.Log;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.pro.domain.ProCard;
import com.ktg.mes.pro.domain.ProWorkorder;
import com.ktg.mes.pro.service.IProCardService;
import com.ktg.mes.pro.service.IProWorkorderService;
import com.ktg.system.strategy.AutoCodeUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author yinjinlu
* @description
* @date 2024/11/18
*/
@Api
@RestController
@RequestMapping("/mobile/pro/procard")
public class ProCardMobController extends BaseController {
@Autowired
private IProCardService proCardService;
@Autowired
private IProWorkorderService proWorkorderService;
@Autowired
private AutoCodeUtil autoCodeUtil;
/**
* 查询工序流转卡列表
*/
@ApiOperation("查询工序流转卡清单接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:list')")
@GetMapping("/list")
public AjaxResult list(ProCard proCard)
{
List<ProCard> list = proCardService.selectProCardList(proCard);
return AjaxResult.success(list);
}
/**
* 查询流经某个工作站的所有流转卡
* 查询条件工作站生产工单
* @return
*/
@ApiOperation("查询某个工作站下指定工单的所有流转卡接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:list')")
@GetMapping("/getStationList")
public AjaxResult getStationList(ProCard card){
List<ProCard> list = proCardService.getStationList(card);
return AjaxResult.success(list);
}
/**
* 获取工序流转卡详细信息
*/
@ApiOperation("根据流转卡编号查询流转卡详细信息接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:query')")
@GetMapping(value = "/{cardCode}")
public AjaxResult getInfo(@PathVariable("cardCode") String cardCode)
{
ProCard param = new ProCard();
param.setCardCode(cardCode);
List<ProCard> cards = proCardService.selectProCardList(param);
if(!CollectionUtils.isEmpty(cards)){
return AjaxResult.success(cards.get(0));
}
return AjaxResult.error("未查询到对应的流转卡!");
}
/**
* 新增工序流转卡
*/
@ApiOperation("新增流转卡接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:add')")
@Log(title = "工序流转卡", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProCard proCard)
{
if(!StringUtils.isNotNull(proCard.getWorkorderId())){
return AjaxResult.error("请传递生产工单参数!");
}
if(!StringUtils.isNotNull(proCard.getQuantityTransfered())){
return AjaxResult.error("请传递流转数量参数!");
}
ProWorkorder workorder = proWorkorderService.selectProWorkorderByWorkorderId(proCard.getWorkorderId());
if(!StringUtils.isNotNull(workorder)){
return AjaxResult.error("生产工单无效!");
}
proCard.setCardCode(autoCodeUtil.genSerialCode(UserConstants.CARD_CODE,null));
proCard.setWorkorderCode(workorder.getWorkorderCode());
proCard.setWorkorderName(workorder.getWorkorderName());
proCard.setItemId(workorder.getProductId());
proCard.setItemCode(workorder.getProductCode());
proCard.setItemName(workorder.getProductName());
proCard.setSpecification(workorder.getProductSpc());
proCard.setUnitOfMeasure(workorder.getUnitOfMeasure());
proCard.setBatchCode(workorder.getBatchCode());
proCard.setStatus(UserConstants.ORDER_STATUS_CONFIRMED);
proCardService.insertProCard(proCard);
return AjaxResult.success(proCard);
}
}

View File

@ -0,0 +1,111 @@
package com.ktg.mes.pro.controller.mobile;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.core.page.TableDataInfo;
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.ProCard;
import com.ktg.mes.pro.domain.ProCardProcess;
import com.ktg.mes.pro.service.IProCardProcessService;
import com.ktg.mes.pro.service.IProCardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* @author yinjinlu
* @description
* @date 2024/11/22
*/
@Api
@RestController
@RequestMapping("/mobile/pro/procardprocess")
public class ProCardProcessMobController extends BaseController {
@Autowired
private IProCardProcessService proCardProcessService;
@Autowired
private IProCardService proCardService;
@Autowired
private IMdWorkstationService mdWorkstationService;
/**
* 查询工序流转卡-工序信息列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:procard:list')")
@GetMapping("/list")
public AjaxResult list(ProCardProcess proCardProcess)
{
List<ProCardProcess> list = proCardProcessService.selectProCardProcessList(proCardProcess);
return AjaxResult.success(list);
}
/**
* 新增工序流转卡-工序信息
*/
@ApiOperation("新增流转卡在某个工作站流转记录接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:add')")
@Log(title = "工序流转卡-工序信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProCardProcess proCardProcess)
{
if(!StringUtils.isNotNull(proCardProcess.getCardCode())){
return AjaxResult.error("请传递流转卡编号参数!");
}
if(!StringUtils.isNotNull(proCardProcess.getQuantityInput())){
return AjaxResult.error("请输入流转数量!");
}
ProCard p1 = new ProCard();
p1.setCardCode(proCardProcess.getCardCode());
List<ProCard> cardList = proCardService.selectProCardList(p1);
ProCard card = null;
if(!CollectionUtils.isEmpty(cardList)){
card = cardList.get(0);
}else{
return AjaxResult.error("流转卡无效!");
}
proCardProcess.setCardId(card.getCardId());
if(!StringUtils.isNotNull(proCardProcess.getWorkstationId())){
return AjaxResult.error("请传递工作站参数!");
}
MdWorkstation workstation = mdWorkstationService.selectMdWorkstationByWorkstationId(proCardProcess.getWorkstationId());
if(StringUtils.isNotNull(workstation)){
proCardProcess.setWorkstationCode(workstation.getWorkstationCode());
proCardProcess.setWorkstationName(workstation.getWorkstationName());
proCardProcess.setProcessId(workstation.getProcessId());
proCardProcess.setProcessCode(workstation.getProcessCode());
proCardProcess.setProcessName(workstation.getProcessName());
}else{
return AjaxResult.error("工作站无效!");
}
proCardProcess.setInputTime(new Date());
proCardProcess.setUserId(getUserId());
proCardProcess.setUserName(getUsername());
proCardProcess.setNickName(getLoginUser().getUser().getNickName());
proCardProcessService.insertProCardProcess(proCardProcess);
return AjaxResult.success(proCardProcess);
}
}

View File

@ -0,0 +1,93 @@
package com.ktg.mes.pro.controller.mobile;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
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.service.IProSnProcessService;
import com.ktg.mes.wm.domain.WmSn;
import com.ktg.mes.wm.service.IWmSnService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author yinjinlu
* @description
* @date 2024/11/22
*/
@Api
@RestController
@RequestMapping("/mobile/pro/prosn")
public class ProSnProcessMobController extends BaseController {
@Autowired
private IProSnProcessService proSnProcessService;
@Autowired
private IWmSnService wmSnService;
@Autowired
private IMdWorkstationService mdWorkstationService;
/**
* 新增SN流转-工序信息
*/
@PreAuthorize("@ss.hasPermi('pro:prosnprocess:add')")
@Log(title = "SN流转-工序信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProSnProcess proSnProcess)
{
if(!StringUtils.isNotNull(proSnProcess.getSnCode())){
return AjaxResult.error("请传递SN编号参数!");
}
WmSn param = new WmSn();
param.setSnCode(proSnProcess.getSnCode());
List<WmSn> snList = wmSnService.selectWmSnList(param);
if(CollectionUtils.isEmpty(snList)){
return AjaxResult.error("SN编码无效!");
}else {
proSnProcess.setSnId(snList.get(0).getSnId());
}
if(!StringUtils.isNotNull(proSnProcess.getWorkstationId())){
return AjaxResult.error("请传递工作站参数!");
}
MdWorkstation workstation = mdWorkstationService.selectMdWorkstationByWorkstationId(proSnProcess.getWorkstationId());
if(StringUtils.isNotNull(workstation)){
proSnProcess.setWorkstationCode(workstation.getWorkstationCode());
proSnProcess.setWorkstationName(workstation.getWorkstationName());
proSnProcess.setProcessId(workstation.getProcessId());
proSnProcess.setProcessCode(workstation.getProcessCode());
proSnProcess.setProcessName(workstation.getProcessName());
}else{
return AjaxResult.error("工作站无效!");
}
proSnProcess.setInputTime(new Date());
proSnProcess.setUserId(getUserId());
proSnProcess.setUserName(getUsername());
proSnProcess.setNickName(getLoginUser().getUser().getNickName());
proSnProcess.setQuantityInput(BigDecimal.ONE);
proSnProcessService.insertProSnProcess(proSnProcess);
return AjaxResult.success(proSnProcess);
}
}

View File

@ -0,0 +1,308 @@
package com.ktg.mes.pro.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* 工序流转卡对象 pro_card
*
* @author yinjinlu
* @date 2024-07-04
*/
public class ProCard extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 流转卡ID */
private Long cardId;
/** 流转卡编号 */
@Excel(name = "流转卡编号")
private String cardCode;
/** 生产工单ID */
@Excel(name = "生产工单ID")
private Long workorderId;
/** 生产工单编号 */
@Excel(name = "生产工单编号")
private String workorderCode;
/** 生产工单名称 */
@Excel(name = "生产工单名称")
private String workorderName;
/** 批次号 */
@Excel(name = "批次号")
private String batchCode;
/** 产品物料ID */
@Excel(name = "产品物料ID")
private Long itemId;
/** 产品物料编码 */
@Excel(name = "产品物料编码")
private String itemCode;
/** 产品物料名称 */
@Excel(name = "产品物料名称")
private String itemName;
/** 规格型号 */
@Excel(name = "规格型号")
private String specification;
/** 单位 */
@Excel(name = "单位")
private String unitOfMeasure;
/** 赋码地址 */
@Excel(name = "赋码地址")
private String barcodeUrl;
/** 流转数量 */
@Excel(name = "流转数量")
private BigDecimal quantityTransfered;
/** 流转卡状态 */
@Excel(name = "流转卡状态")
private String status;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 预留字段2 */
@Excel(name = "预留字段2")
private String attr2;
/** 预留字段3 */
@Excel(name = "预留字段3")
private Long attr3;
/** 预留字段4 */
@Excel(name = "预留字段4")
private Long attr4;
private Long workstationId;
/** 进入工序时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date inputTime;
public void setCardId(Long cardId)
{
this.cardId = cardId;
}
public Long getCardId()
{
return cardId;
}
public void setCardCode(String cardCode)
{
this.cardCode = cardCode;
}
public String getCardCode()
{
return cardCode;
}
public void setWorkorderId(Long workorderId)
{
this.workorderId = workorderId;
}
public Long getWorkorderId()
{
return workorderId;
}
public void setWorkorderCode(String workorderCode)
{
this.workorderCode = workorderCode;
}
public String getWorkorderCode()
{
return workorderCode;
}
public void setWorkorderName(String workorderName)
{
this.workorderName = workorderName;
}
public String getWorkorderName()
{
return workorderName;
}
public void setBatchCode(String batchCode)
{
this.batchCode = batchCode;
}
public String getBatchCode()
{
return batchCode;
}
public void setItemId(Long itemId)
{
this.itemId = itemId;
}
public Long getItemId()
{
return itemId;
}
public void setItemCode(String itemCode)
{
this.itemCode = itemCode;
}
public String getItemCode()
{
return itemCode;
}
public void setItemName(String itemName)
{
this.itemName = itemName;
}
public String getItemName()
{
return itemName;
}
public void setSpecification(String specification)
{
this.specification = specification;
}
public String getSpecification()
{
return specification;
}
public void setUnitOfMeasure(String unitOfMeasure)
{
this.unitOfMeasure = unitOfMeasure;
}
public String getUnitOfMeasure()
{
return unitOfMeasure;
}
public void setBarcodeUrl(String barcodeUrl)
{
this.barcodeUrl = barcodeUrl;
}
public String getBarcodeUrl()
{
return barcodeUrl;
}
public void setQuantityTransfered(BigDecimal quantityTransfered)
{
this.quantityTransfered = quantityTransfered;
}
public BigDecimal getQuantityTransfered()
{
return quantityTransfered;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(Long attr3)
{
this.attr3 = attr3;
}
public Long getAttr3()
{
return attr3;
}
public void setAttr4(Long attr4)
{
this.attr4 = attr4;
}
public Long getAttr4()
{
return attr4;
}
public Long getWorkstationId() {
return workstationId;
}
public void setWorkstationId(Long workstationId) {
this.workstationId = workstationId;
}
public Date getInputTime() {
return inputTime;
}
public void setInputTime(Date inputTime) {
this.inputTime = inputTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("cardId", getCardId())
.append("cardCode", getCardCode())
.append("workorderId", getWorkorderId())
.append("workorderCode", getWorkorderCode())
.append("workorderName", getWorkorderName())
.append("batchCode", getBatchCode())
.append("itemId", getItemId())
.append("itemCode", getItemCode())
.append("itemName", getItemName())
.append("specification", getSpecification())
.append("unitOfMeasure", getUnitOfMeasure())
.append("barcodeUrl", getBarcodeUrl())
.append("quantityTransfered", getQuantityTransfered())
.append("status", getStatus())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,355 @@
package com.ktg.mes.pro.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* 工序流转卡-工序信息对象 pro_card_process
*
* @author yinjinlu
* @date 2024-07-04
*/
public class ProCardProcess extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 流水ID */
private Long recordId;
/** 流转卡ID */
@Excel(name = "流转卡ID")
private Long cardId;
/** 流转卡编号 */
@Excel(name = "流转卡编号")
private String cardCode;
/** 序号 */
@Excel(name = "序号")
private Long seqNum;
/** 工序ID */
@Excel(name = "工序ID")
private Long processId;
/** 工序编号 */
@Excel(name = "工序编号")
private String processCode;
/** 工序名称 */
@Excel(name = "工序名称")
private String processName;
/** 进入工序时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "进入工序时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date inputTime;
/** 出工序时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出工序时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date outputTime;
/** 投入数量 */
@Excel(name = "投入数量")
private BigDecimal quantityInput;
/** 产出数量 */
@Excel(name = "产出数量")
private BigDecimal quantityOutput;
/** 不合格品数量 */
@Excel(name = "不合格品数量")
private BigDecimal quantityUnquanlify;
/** 工作站ID */
@Excel(name = "工作站ID")
private Long workstationId;
/** 工作站编号 */
@Excel(name = "工作站编号")
private String workstationCode;
/** 工作站名称 */
@Excel(name = "工作站名称")
private String workstationName;
/** 用户ID */
@Excel(name = "用户ID")
private Long userId;
/** 用户名 */
@Excel(name = "用户名")
private String userName;
/** 名称 */
@Excel(name = "名称")
private String nickName;
/** 过程检验单ID */
@Excel(name = "过程检验单ID")
private Long ipqcId;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 预留字段2 */
@Excel(name = "预留字段2")
private String attr2;
/** 预留字段3 */
@Excel(name = "预留字段3")
private Long attr3;
/** 预留字段4 */
@Excel(name = "预留字段4")
private Long attr4;
public void setRecordId(Long recordId)
{
this.recordId = recordId;
}
public Long getRecordId()
{
return recordId;
}
public void setCardId(Long cardId)
{
this.cardId = cardId;
}
public Long getCardId()
{
return cardId;
}
public void setCardCode(String cardCode)
{
this.cardCode = cardCode;
}
public String getCardCode()
{
return cardCode;
}
public void setSeqNum(Long seqNum)
{
this.seqNum = seqNum;
}
public Long getSeqNum()
{
return seqNum;
}
public void setProcessId(Long processId)
{
this.processId = processId;
}
public Long getProcessId()
{
return processId;
}
public void setProcessCode(String processCode)
{
this.processCode = processCode;
}
public String getProcessCode()
{
return processCode;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setInputTime(Date inputTime)
{
this.inputTime = inputTime;
}
public Date getInputTime()
{
return inputTime;
}
public void setOutputTime(Date outputTime)
{
this.outputTime = outputTime;
}
public Date getOutputTime()
{
return outputTime;
}
public void setQuantityInput(BigDecimal quantityInput)
{
this.quantityInput = quantityInput;
}
public BigDecimal getQuantityInput()
{
return quantityInput;
}
public void setQuantityOutput(BigDecimal quantityOutput)
{
this.quantityOutput = quantityOutput;
}
public BigDecimal getQuantityOutput()
{
return quantityOutput;
}
public void setQuantityUnquanlify(BigDecimal quantityUnquanlify)
{
this.quantityUnquanlify = quantityUnquanlify;
}
public BigDecimal getQuantityUnquanlify()
{
return quantityUnquanlify;
}
public void setWorkstationId(Long workstationId)
{
this.workstationId = workstationId;
}
public Long getWorkstationId()
{
return workstationId;
}
public void setWorkstationCode(String workstationCode)
{
this.workstationCode = workstationCode;
}
public String getWorkstationCode()
{
return workstationCode;
}
public void setWorkstationName(String workstationName)
{
this.workstationName = workstationName;
}
public String getWorkstationName()
{
return workstationName;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getUserName()
{
return userName;
}
public void setNickName(String nickName)
{
this.nickName = nickName;
}
public String getNickName()
{
return nickName;
}
public void setIpqcId(Long ipqcId)
{
this.ipqcId = ipqcId;
}
public Long getIpqcId()
{
return ipqcId;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(Long attr3)
{
this.attr3 = attr3;
}
public Long getAttr3()
{
return attr3;
}
public void setAttr4(Long attr4)
{
this.attr4 = attr4;
}
public Long getAttr4()
{
return attr4;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("recordId", getRecordId())
.append("cardId", getCardId())
.append("cardCode", getCardCode())
.append("seqNum", getSeqNum())
.append("processId", getProcessId())
.append("processCode", getProcessCode())
.append("processName", getProcessName())
.append("inputTime", getInputTime())
.append("outputTime", getOutputTime())
.append("quantityInput", getQuantityInput())
.append("quantityOutput", getQuantityOutput())
.append("quantityUnquanlify", getQuantityUnquanlify())
.append("workstationId", getWorkstationId())
.append("workstationCode", getWorkstationCode())
.append("workstationName", getWorkstationName())
.append("userId", getUserId())
.append("userName", getUserName())
.append("nickName", getNickName())
.append("ipqcId", getIpqcId())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,362 @@
package com.ktg.mes.pro.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* SN流转-工序信息对象 pro_sn_process
*
* @author yinjinlu
* @date 2024-11-22
*/
public class ProSnProcess extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 流水ID */
private Long recordId;
/** SNID */
@Excel(name = "SNID")
private Long snId;
/** SN编号 */
@Excel(name = "SN编号")
private String snCode;
/** 序号 */
@Excel(name = "序号")
private Long seqNum;
/** 工序ID */
@Excel(name = "工序ID")
private Long processId;
/** 工序编号 */
@Excel(name = "工序编号")
private String processCode;
/** 工序名称 */
@Excel(name = "工序名称")
private String processName;
/** 进入工序时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "进入工序时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date inputTime;
/** 出工序时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出工序时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date outputTime;
/** 投入数量 */
@Excel(name = "投入数量")
private BigDecimal quantityInput;
/** 产出数量 */
@Excel(name = "产出数量")
private BigDecimal quantityOutput;
/** 不合格品数量 */
@Excel(name = "不合格品数量")
private BigDecimal quantityUnquanlify;
/** 工作站ID */
@Excel(name = "工作站ID")
private Long workstationId;
/** 工作站编号 */
@Excel(name = "工作站编号")
private String workstationCode;
/** 工作站名称 */
@Excel(name = "工作站名称")
private String workstationName;
/** 用户ID */
@Excel(name = "用户ID")
private Long userId;
/** 用户名 */
@Excel(name = "用户名")
private String userName;
/** 名称 */
@Excel(name = "名称")
private String nickName;
/** 过程检验单ID */
@Excel(name = "过程检验单ID")
private Long ipqcId;
private Long workOrderId;
/** 预留字段1 */
private String attr1;
/** 预留字段2 */
private String attr2;
/** 预留字段3 */
private Long attr3;
/** 预留字段4 */
private Long attr4;
public void setRecordId(Long recordId)
{
this.recordId = recordId;
}
public Long getRecordId()
{
return recordId;
}
public void setSnId(Long snId)
{
this.snId = snId;
}
public Long getSnId()
{
return snId;
}
public void setSnCode(String snCode)
{
this.snCode = snCode;
}
public String getSnCode()
{
return snCode;
}
public void setSeqNum(Long seqNum)
{
this.seqNum = seqNum;
}
public Long getSeqNum()
{
return seqNum;
}
public void setProcessId(Long processId)
{
this.processId = processId;
}
public Long getProcessId()
{
return processId;
}
public void setProcessCode(String processCode)
{
this.processCode = processCode;
}
public String getProcessCode()
{
return processCode;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setInputTime(Date inputTime)
{
this.inputTime = inputTime;
}
public Date getInputTime()
{
return inputTime;
}
public void setOutputTime(Date outputTime)
{
this.outputTime = outputTime;
}
public Date getOutputTime()
{
return outputTime;
}
public void setQuantityInput(BigDecimal quantityInput)
{
this.quantityInput = quantityInput;
}
public BigDecimal getQuantityInput()
{
return quantityInput;
}
public void setQuantityOutput(BigDecimal quantityOutput)
{
this.quantityOutput = quantityOutput;
}
public BigDecimal getQuantityOutput()
{
return quantityOutput;
}
public void setQuantityUnquanlify(BigDecimal quantityUnquanlify)
{
this.quantityUnquanlify = quantityUnquanlify;
}
public BigDecimal getQuantityUnquanlify()
{
return quantityUnquanlify;
}
public void setWorkstationId(Long workstationId)
{
this.workstationId = workstationId;
}
public Long getWorkstationId()
{
return workstationId;
}
public void setWorkstationCode(String workstationCode)
{
this.workstationCode = workstationCode;
}
public String getWorkstationCode()
{
return workstationCode;
}
public void setWorkstationName(String workstationName)
{
this.workstationName = workstationName;
}
public String getWorkstationName()
{
return workstationName;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getUserName()
{
return userName;
}
public void setNickName(String nickName)
{
this.nickName = nickName;
}
public String getNickName()
{
return nickName;
}
public void setIpqcId(Long ipqcId)
{
this.ipqcId = ipqcId;
}
public Long getIpqcId()
{
return ipqcId;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(Long attr3)
{
this.attr3 = attr3;
}
public Long getAttr3()
{
return attr3;
}
public void setAttr4(Long attr4)
{
this.attr4 = attr4;
}
public Long getAttr4()
{
return attr4;
}
public Long getWorkOrderId() {
return workOrderId;
}
public void setWorkOrderId(Long workOrderId) {
this.workOrderId = workOrderId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("recordId", getRecordId())
.append("snId", getSnId())
.append("snCode", getSnCode())
.append("seqNum", getSeqNum())
.append("processId", getProcessId())
.append("processCode", getProcessCode())
.append("processName", getProcessName())
.append("inputTime", getInputTime())
.append("outputTime", getOutputTime())
.append("quantityInput", getQuantityInput())
.append("quantityOutput", getQuantityOutput())
.append("quantityUnquanlify", getQuantityUnquanlify())
.append("workstationId", getWorkstationId())
.append("workstationCode", getWorkstationCode())
.append("workstationName", getWorkstationName())
.append("userId", getUserId())
.append("userName", getUserName())
.append("nickName", getNickName())
.append("ipqcId", getIpqcId())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,64 @@
package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProCard;
/**
* 工序流转卡Mapper接口
*
* @author yinjinlu
* @date 2024-07-04
*/
public interface ProCardMapper
{
/**
* 查询工序流转卡
*
* @param cardId 工序流转卡主键
* @return 工序流转卡
*/
public ProCard selectProCardByCardId(Long cardId);
/**
* 查询工序流转卡列表
*
* @param proCard 工序流转卡
* @return 工序流转卡集合
*/
public List<ProCard> selectProCardList(ProCard proCard);
public List<ProCard> getStationList(ProCard card);
/**
* 新增工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
public int insertProCard(ProCard proCard);
/**
* 修改工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
public int updateProCard(ProCard proCard);
/**
* 删除工序流转卡
*
* @param cardId 工序流转卡主键
* @return 结果
*/
public int deleteProCardByCardId(Long cardId);
/**
* 批量删除工序流转卡
*
* @param cardIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProCardByCardIds(Long[] cardIds);
}

View File

@ -0,0 +1,61 @@
package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProCardProcess;
/**
* 工序流转卡-工序信息Mapper接口
*
* @author yinjinlu
* @date 2024-07-04
*/
public interface ProCardProcessMapper
{
/**
* 查询工序流转卡-工序信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 工序流转卡-工序信息
*/
public ProCardProcess selectProCardProcessByRecordId(Long recordId);
/**
* 查询工序流转卡-工序信息列表
*
* @param proCardProcess 工序流转卡-工序信息
* @return 工序流转卡-工序信息集合
*/
public List<ProCardProcess> selectProCardProcessList(ProCardProcess proCardProcess);
/**
* 新增工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
public int insertProCardProcess(ProCardProcess proCardProcess);
/**
* 修改工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
public int updateProCardProcess(ProCardProcess proCardProcess);
/**
* 删除工序流转卡-工序信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 结果
*/
public int deleteProCardProcessByRecordId(Long recordId);
/**
* 批量删除工序流转卡-工序信息
*
* @param recordIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProCardProcessByRecordIds(Long[] recordIds);
}

View File

@ -0,0 +1,62 @@
package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProSnProcess;
/**
* SN流转-工序信息Mapper接口
*
* @author yinjinlu
* @date 2024-11-22
*/
public interface ProSnProcessMapper
{
/**
* 查询SN流转-工序信息
*
* @param recordId SN流转-工序信息主键
* @return SN流转-工序信息
*/
public ProSnProcess selectProSnProcessByRecordId(Long recordId);
/**
* 查询SN流转-工序信息列表
*
* @param proSnProcess SN流转-工序信息
* @return SN流转-工序信息集合
*/
public List<ProSnProcess> selectProSnProcessList(ProSnProcess proSnProcess);
/**
* 新增SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
public int insertProSnProcess(ProSnProcess proSnProcess);
/**
* 修改SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
public int updateProSnProcess(ProSnProcess proSnProcess);
/**
* 删除SN流转-工序信息
*
* @param recordId SN流转-工序信息主键
* @return 结果
*/
public int deleteProSnProcessByRecordId(Long recordId);
/**
* 批量删除SN流转-工序信息
*
* @param recordIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProSnProcessByRecordIds(Long[] recordIds);
}

View File

@ -0,0 +1,61 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.mes.pro.domain.ProCardProcess;
/**
* 工序流转卡-工序信息Service接口
*
* @author yinjinlu
* @date 2024-07-04
*/
public interface IProCardProcessService
{
/**
* 查询工序流转卡-工序信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 工序流转卡-工序信息
*/
public ProCardProcess selectProCardProcessByRecordId(Long recordId);
/**
* 查询工序流转卡-工序信息列表
*
* @param proCardProcess 工序流转卡-工序信息
* @return 工序流转卡-工序信息集合
*/
public List<ProCardProcess> selectProCardProcessList(ProCardProcess proCardProcess);
/**
* 新增工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
public int insertProCardProcess(ProCardProcess proCardProcess);
/**
* 修改工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
public int updateProCardProcess(ProCardProcess proCardProcess);
/**
* 批量删除工序流转卡-工序信息
*
* @param recordIds 需要删除的工序流转卡-工序信息主键集合
* @return 结果
*/
public int deleteProCardProcessByRecordIds(Long[] recordIds);
/**
* 删除工序流转卡-工序信息信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 结果
*/
public int deleteProCardProcessByRecordId(Long recordId);
}

View File

@ -0,0 +1,68 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.mes.pro.domain.ProCard;
/**
* 工序流转卡Service接口
*
* @author yinjinlu
* @date 2024-07-04
*/
public interface IProCardService
{
/**
* 查询工序流转卡
*
* @param cardId 工序流转卡主键
* @return 工序流转卡
*/
public ProCard selectProCardByCardId(Long cardId);
/**
* 查询工序流转卡列表
*
* @param proCard 工序流转卡
* @return 工序流转卡集合
*/
public List<ProCard> selectProCardList(ProCard proCard);
/**
* 查询指定生产工单在指定工作站下的流转单记录
* @param card
* @return
*/
public List<ProCard> getStationList(ProCard card);
/**
* 新增工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
public int insertProCard(ProCard proCard);
/**
* 修改工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
public int updateProCard(ProCard proCard);
/**
* 批量删除工序流转卡
*
* @param cardIds 需要删除的工序流转卡主键集合
* @return 结果
*/
public int deleteProCardByCardIds(Long[] cardIds);
/**
* 删除工序流转卡信息
*
* @param cardId 工序流转卡主键
* @return 结果
*/
public int deleteProCardByCardId(Long cardId);
}

View File

@ -0,0 +1,61 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.mes.pro.domain.ProSnProcess;
/**
* SN流转-工序信息Service接口
*
* @author yinjinlu
* @date 2024-11-22
*/
public interface IProSnProcessService
{
/**
* 查询SN流转-工序信息
*
* @param recordId SN流转-工序信息主键
* @return SN流转-工序信息
*/
public ProSnProcess selectProSnProcessByRecordId(Long recordId);
/**
* 查询SN流转-工序信息列表
*
* @param proSnProcess SN流转-工序信息
* @return SN流转-工序信息集合
*/
public List<ProSnProcess> selectProSnProcessList(ProSnProcess proSnProcess);
/**
* 新增SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
public int insertProSnProcess(ProSnProcess proSnProcess);
/**
* 修改SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
public int updateProSnProcess(ProSnProcess proSnProcess);
/**
* 批量删除SN流转-工序信息
*
* @param recordIds 需要删除的SN流转-工序信息主键集合
* @return 结果
*/
public int deleteProSnProcessByRecordIds(Long[] recordIds);
/**
* 删除SN流转-工序信息信息
*
* @param recordId SN流转-工序信息主键
* @return 结果
*/
public int deleteProSnProcessByRecordId(Long recordId);
}

View File

@ -0,0 +1,96 @@
package com.ktg.mes.pro.service.impl;
import java.util.List;
import com.ktg.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProCardProcessMapper;
import com.ktg.mes.pro.domain.ProCardProcess;
import com.ktg.mes.pro.service.IProCardProcessService;
/**
* 工序流转卡-工序信息Service业务层处理
*
* @author yinjinlu
* @date 2024-07-04
*/
@Service
public class ProCardProcessServiceImpl implements IProCardProcessService
{
@Autowired
private ProCardProcessMapper proCardProcessMapper;
/**
* 查询工序流转卡-工序信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 工序流转卡-工序信息
*/
@Override
public ProCardProcess selectProCardProcessByRecordId(Long recordId)
{
return proCardProcessMapper.selectProCardProcessByRecordId(recordId);
}
/**
* 查询工序流转卡-工序信息列表
*
* @param proCardProcess 工序流转卡-工序信息
* @return 工序流转卡-工序信息
*/
@Override
public List<ProCardProcess> selectProCardProcessList(ProCardProcess proCardProcess)
{
return proCardProcessMapper.selectProCardProcessList(proCardProcess);
}
/**
* 新增工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
@Override
public int insertProCardProcess(ProCardProcess proCardProcess)
{
proCardProcess.setCreateTime(DateUtils.getNowDate());
return proCardProcessMapper.insertProCardProcess(proCardProcess);
}
/**
* 修改工序流转卡-工序信息
*
* @param proCardProcess 工序流转卡-工序信息
* @return 结果
*/
@Override
public int updateProCardProcess(ProCardProcess proCardProcess)
{
proCardProcess.setUpdateTime(DateUtils.getNowDate());
return proCardProcessMapper.updateProCardProcess(proCardProcess);
}
/**
* 批量删除工序流转卡-工序信息
*
* @param recordIds 需要删除的工序流转卡-工序信息主键
* @return 结果
*/
@Override
public int deleteProCardProcessByRecordIds(Long[] recordIds)
{
return proCardProcessMapper.deleteProCardProcessByRecordIds(recordIds);
}
/**
* 删除工序流转卡-工序信息信息
*
* @param recordId 工序流转卡-工序信息主键
* @return 结果
*/
@Override
public int deleteProCardProcessByRecordId(Long recordId)
{
return proCardProcessMapper.deleteProCardProcessByRecordId(recordId);
}
}

View File

@ -0,0 +1,106 @@
package com.ktg.mes.pro.service.impl;
import java.util.List;
import com.ktg.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProCardMapper;
import com.ktg.mes.pro.domain.ProCard;
import com.ktg.mes.pro.service.IProCardService;
/**
* 工序流转卡Service业务层处理
*
* @author yinjinlu
* @date 2024-07-04
*/
@Service
public class ProCardServiceImpl implements IProCardService
{
@Autowired
private ProCardMapper proCardMapper;
/**
* 查询工序流转卡
*
* @param cardId 工序流转卡主键
* @return 工序流转卡
*/
@Override
public ProCard selectProCardByCardId(Long cardId)
{
return proCardMapper.selectProCardByCardId(cardId);
}
/**
* 查询工序流转卡列表
*
* @param proCard 工序流转卡
* @return 工序流转卡
*/
@Override
public List<ProCard> selectProCardList(ProCard proCard)
{
return proCardMapper.selectProCardList(proCard);
}
/**
* 查询指定生产工单在指定工作站下的流转单记录
* @param card
* @return
*/
@Override
public List<ProCard> getStationList(ProCard card) {
return proCardMapper.getStationList(card);
}
/**
* 新增工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
@Override
public int insertProCard(ProCard proCard)
{
proCard.setCreateTime(DateUtils.getNowDate());
return proCardMapper.insertProCard(proCard);
}
/**
* 修改工序流转卡
*
* @param proCard 工序流转卡
* @return 结果
*/
@Override
public int updateProCard(ProCard proCard)
{
proCard.setUpdateTime(DateUtils.getNowDate());
return proCardMapper.updateProCard(proCard);
}
/**
* 批量删除工序流转卡
*
* @param cardIds 需要删除的工序流转卡主键
* @return 结果
*/
@Override
public int deleteProCardByCardIds(Long[] cardIds)
{
return proCardMapper.deleteProCardByCardIds(cardIds);
}
/**
* 删除工序流转卡信息
*
* @param cardId 工序流转卡主键
* @return 结果
*/
@Override
public int deleteProCardByCardId(Long cardId)
{
return proCardMapper.deleteProCardByCardId(cardId);
}
}

View File

@ -0,0 +1,96 @@
package com.ktg.mes.pro.service.impl;
import java.util.List;
import com.ktg.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProSnProcessMapper;
import com.ktg.mes.pro.domain.ProSnProcess;
import com.ktg.mes.pro.service.IProSnProcessService;
/**
* SN流转-工序信息Service业务层处理
*
* @author yinjinlu
* @date 2024-11-22
*/
@Service
public class ProSnProcessServiceImpl implements IProSnProcessService
{
@Autowired
private ProSnProcessMapper proSnProcessMapper;
/**
* 查询SN流转-工序信息
*
* @param recordId SN流转-工序信息主键
* @return SN流转-工序信息
*/
@Override
public ProSnProcess selectProSnProcessByRecordId(Long recordId)
{
return proSnProcessMapper.selectProSnProcessByRecordId(recordId);
}
/**
* 查询SN流转-工序信息列表
*
* @param proSnProcess SN流转-工序信息
* @return SN流转-工序信息
*/
@Override
public List<ProSnProcess> selectProSnProcessList(ProSnProcess proSnProcess)
{
return proSnProcessMapper.selectProSnProcessList(proSnProcess);
}
/**
* 新增SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
@Override
public int insertProSnProcess(ProSnProcess proSnProcess)
{
proSnProcess.setCreateTime(DateUtils.getNowDate());
return proSnProcessMapper.insertProSnProcess(proSnProcess);
}
/**
* 修改SN流转-工序信息
*
* @param proSnProcess SN流转-工序信息
* @return 结果
*/
@Override
public int updateProSnProcess(ProSnProcess proSnProcess)
{
proSnProcess.setUpdateTime(DateUtils.getNowDate());
return proSnProcessMapper.updateProSnProcess(proSnProcess);
}
/**
* 批量删除SN流转-工序信息
*
* @param recordIds 需要删除的SN流转-工序信息主键
* @return 结果
*/
@Override
public int deleteProSnProcessByRecordIds(Long[] recordIds)
{
return proSnProcessMapper.deleteProSnProcessByRecordIds(recordIds);
}
/**
* 删除SN流转-工序信息信息
*
* @param recordId SN流转-工序信息主键
* @return 结果
*/
@Override
public int deleteProSnProcessByRecordId(Long recordId)
{
return proSnProcessMapper.deleteProSnProcessByRecordId(recordId);
}
}

View File

@ -6,7 +6,9 @@ import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateUtil;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.StringUtils;
import com.ktg.system.strategy.AutoCodeUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -88,6 +90,23 @@ public class WmSnController extends BaseController
return AjaxResult.success(wmSnService.selectWmSnBySnId(snId));
}
@ApiOperation("查询某个工作站下指定工单的所有SN过站记录接口")
@PreAuthorize("@ss.hasPermi('mes:pro:procard:list')")
@GetMapping("/getStationList")
public AjaxResult getStationList(WmSn sn){
if(!StringUtils.isNotNull(sn.getWorkOrderId())){
return AjaxResult.error("请指定生产工单ID");
}
if(StringUtils.isNotNull(sn.getWorkStationId())){
return AjaxResult.error("请指定工作站!");
}
List<WmSn> snList = wmSnService.getStationList(sn);
return AjaxResult.success(snList);
}
/**
* 新增SN码
*/

View File

@ -49,6 +49,13 @@ public class WmSn extends BaseEntity
@Excel(name = "批次号")
private String batchCode;
private Long workOrderId;
private Date inputTime;
private Long workStationId;
/**
* SN码的数量
*/
@ -196,6 +203,31 @@ public class WmSn extends BaseEntity
return attr4;
}
public Long getWorkOrderId() {
return workOrderId;
}
public void setWorkOrderId(Long workOrderId) {
this.workOrderId = workOrderId;
}
public Date getInputTime() {
return inputTime;
}
public void setInputTime(Date inputTime) {
this.inputTime = inputTime;
}
public Long getWorkStationId() {
return workStationId;
}
public void setWorkStationId(Long workStationId) {
this.workStationId = workStationId;
}
@Override
public String toString() {
return "WmSn{" +

View File

@ -1,6 +1,8 @@
package com.ktg.mes.wm.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProSnProcess;
import com.ktg.mes.wm.domain.WmSn;
/**
@ -34,6 +36,13 @@ public interface WmSnMapper
*/
public List<WmSn> selectSnList(WmSn wmSn);
/**
* 查询指定SN的流转记录
* @param sn
* @return
*/
public List<WmSn> getStationList(WmSn sn);
/**
* 新增SN码
*

View File

@ -34,6 +34,14 @@ public interface IWmSnService
*/
public List<WmSn> selectSnList(WmSn wmSn);
/**
* 查询指定SN的流转记录
* @param sn
* @return
*/
public List<WmSn> getStationList(WmSn sn);
/**
* 新增SN码
*

View File

@ -49,6 +49,11 @@ public class WmSnServiceImpl implements IWmSnService
return wmSnMapper.selectSnList(wmSn);
}
@Override
public List<WmSn> getStationList(WmSn sn) {
return wmSnMapper.getStationList(sn);
}
/**
* 新增SN码
*

View File

@ -0,0 +1,169 @@
<?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.ktg.mes.pro.mapper.ProCardMapper">
<resultMap type="ProCard" id="ProCardResult">
<result property="cardId" column="card_id" />
<result property="cardCode" column="card_code" />
<result property="workorderId" column="workorder_id" />
<result property="workorderCode" column="workorder_code" />
<result property="workorderName" column="workorder_name" />
<result property="batchCode" column="batch_code" />
<result property="itemId" column="item_id" />
<result property="itemCode" column="item_code" />
<result property="itemName" column="item_name" />
<result property="specification" column="specification" />
<result property="unitOfMeasure" column="unit_of_measure" />
<result property="barcodeUrl" column="barcode_url" />
<result property="quantityTransfered" column="quantity_transfered" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<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="inputTime" column="input_time" />
</resultMap>
<sql id="selectProCardVo">
select card_id, card_code, workorder_id, workorder_code, workorder_name, batch_code, item_id, item_code, item_name, specification, unit_of_measure, barcode_url, quantity_transfered, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_card
</sql>
<select id="selectProCardList" parameterType="ProCard" resultMap="ProCardResult">
<include refid="selectProCardVo"/>
<where>
<if test="cardCode != null and cardCode != ''"> and card_code = #{cardCode}</if>
<if test="workorderId != null "> and workorder_id = #{workorderId}</if>
<if test="workorderCode != null and workorderCode != ''"> and workorder_code = #{workorderCode}</if>
<if test="workorderName != null and workorderName != ''"> and workorder_name like concat('%', #{workorderName}, '%')</if>
<if test="batchCode != null and batchCode != ''"> and batch_code = #{batchCode}</if>
<if test="itemId != null "> and item_id = #{itemId}</if>
<if test="itemCode != null and itemCode != ''"> and item_code = #{itemCode}</if>
<if test="itemName != null and itemName != ''"> and item_name like concat('%', #{itemName}, '%')</if>
<if test="specification != null and specification != ''"> and specification = #{specification}</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''"> and unit_of_measure = #{unitOfMeasure}</if>
<if test="barcodeUrl != null and barcodeUrl != ''"> and barcode_url = #{barcodeUrl}</if>
<if test="quantityTransfered != null "> and quantity_transfered = #{quantityTransfered}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null "> and attr3 = #{attr3}</if>
<if test="attr4 != null "> and attr4 = #{attr4}</if>
</where>
</select>
<select id="selectProCardByCardId" parameterType="Long" resultMap="ProCardResult">
<include refid="selectProCardVo"/>
where card_id = #{cardId}
</select>
<select id="getStationList" parameterType="ProCard" resultMap="ProCardResult">
select pc.card_id,pc.card_code,pc.workorder_id,pc.workorder_code,pc.workorder_name,pc.item_id,pc.item_code,pc.item_name,pc.specification, pc.unit_of_measure,pc.quantity_transfered,
pcp.record_id,pcp.workstation_id,pcp.input_time
from pro_card pc
left join pro_card_process pcp
on pc.card_id = pcp.card_id
where pc.workorder_id = #{workOrderId}
and pc.workstation_id = #{workStationId}
order by pcp.input_time desc
</select>
<insert id="insertProCard" parameterType="ProCard" useGeneratedKeys="true" keyProperty="cardId">
insert into pro_card
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="cardCode != null">card_code,</if>
<if test="workorderId != null">workorder_id,</if>
<if test="workorderCode != null">workorder_code,</if>
<if test="workorderName != null">workorder_name,</if>
<if test="batchCode != null">batch_code,</if>
<if test="itemId != null">item_id,</if>
<if test="itemCode != null and itemCode != ''">item_code,</if>
<if test="itemName != null and itemName != ''">item_name,</if>
<if test="specification != null">specification,</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''">unit_of_measure,</if>
<if test="barcodeUrl != null">barcode_url,</if>
<if test="quantityTransfered != null">quantity_transfered,</if>
<if test="status != null">status,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</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>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cardCode != null">#{cardCode},</if>
<if test="workorderId != null">#{workorderId},</if>
<if test="workorderCode != null">#{workorderCode},</if>
<if test="workorderName != null">#{workorderName},</if>
<if test="batchCode != null">#{batchCode},</if>
<if test="itemId != null">#{itemId},</if>
<if test="itemCode != null and itemCode != ''">#{itemCode},</if>
<if test="itemName != null and itemName != ''">#{itemName},</if>
<if test="specification != null">#{specification},</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''">#{unitOfMeasure},</if>
<if test="barcodeUrl != null">#{barcodeUrl},</if>
<if test="quantityTransfered != null">#{quantityTransfered},</if>
<if test="status != null">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</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>
</trim>
</insert>
<update id="updateProCard" parameterType="ProCard">
update pro_card
<trim prefix="SET" suffixOverrides=",">
<if test="cardCode != null">card_code = #{cardCode},</if>
<if test="workorderId != null">workorder_id = #{workorderId},</if>
<if test="workorderCode != null">workorder_code = #{workorderCode},</if>
<if test="workorderName != null">workorder_name = #{workorderName},</if>
<if test="batchCode != null">batch_code = #{batchCode},</if>
<if test="itemId != null">item_id = #{itemId},</if>
<if test="itemCode != null and itemCode != ''">item_code = #{itemCode},</if>
<if test="itemName != null and itemName != ''">item_name = #{itemName},</if>
<if test="specification != null">specification = #{specification},</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''">unit_of_measure = #{unitOfMeasure},</if>
<if test="barcodeUrl != null">barcode_url = #{barcodeUrl},</if>
<if test="quantityTransfered != null">quantity_transfered = #{quantityTransfered},</if>
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</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>
</trim>
where card_id = #{cardId}
</update>
<delete id="deleteProCardByCardId" parameterType="Long">
delete from pro_card where card_id = #{cardId}
</delete>
<delete id="deleteProCardByCardIds" parameterType="String">
delete from pro_card where card_id in
<foreach item="cardId" collection="array" open="(" separator="," close=")">
#{cardId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,181 @@
<?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.ktg.mes.pro.mapper.ProCardProcessMapper">
<resultMap type="ProCardProcess" id="ProCardProcessResult">
<result property="recordId" column="record_id" />
<result property="cardId" column="card_id" />
<result property="cardCode" column="card_code" />
<result property="seqNum" column="seq_num" />
<result property="processId" column="process_id" />
<result property="processCode" column="process_code" />
<result property="processName" column="process_name" />
<result property="inputTime" column="input_time" />
<result property="outputTime" column="output_time" />
<result property="quantityInput" column="quantity_input" />
<result property="quantityOutput" column="quantity_output" />
<result property="quantityUnquanlify" column="quantity_unquanlify" />
<result property="workstationId" column="workstation_id" />
<result property="workstationCode" column="workstation_code" />
<result property="workstationName" column="workstation_name" />
<result property="userId" column="user_id" />
<result property="userName" column="user_name" />
<result property="nickName" column="nick_name" />
<result property="ipqcId" column="ipqc_id" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectProCardProcessVo">
select record_id, card_id, card_code, seq_num, process_id, process_code, process_name, input_time, output_time, quantity_input, quantity_output, quantity_unquanlify, workstation_id, workstation_code, workstation_name, user_id, user_name, nick_name, ipqc_id, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_card_process
</sql>
<select id="selectProCardProcessList" parameterType="ProCardProcess" resultMap="ProCardProcessResult">
<include refid="selectProCardProcessVo"/>
<where>
<if test="cardId != null "> and card_id = #{cardId}</if>
<if test="cardCode != null and cardCode != ''"> and card_code = #{cardCode}</if>
<if test="seqNum != null "> and seq_num = #{seqNum}</if>
<if test="processId != null "> and process_id = #{processId}</if>
<if test="processCode != null and processCode != ''"> and process_code = #{processCode}</if>
<if test="processName != null and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
<if test="inputTime != null "> and input_time = #{inputTime}</if>
<if test="outputTime != null "> and output_time = #{outputTime}</if>
<if test="quantityInput != null "> and quantity_input = #{quantityInput}</if>
<if test="quantityOutput != null "> and quantity_output = #{quantityOutput}</if>
<if test="quantityUnquanlify != null "> and quantity_unquanlify = #{quantityUnquanlify}</if>
<if test="workstationId != null "> and workstation_id = #{workstationId}</if>
<if test="workstationCode != null and workstationCode != ''"> and workstation_code = #{workstationCode}</if>
<if test="workstationName != null and workstationName != ''"> and workstation_name like concat('%', #{workstationName}, '%')</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
<if test="ipqcId != null "> and ipqc_id = #{ipqcId}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null "> and attr3 = #{attr3}</if>
<if test="attr4 != null "> and attr4 = #{attr4}</if>
</where>
</select>
<select id="selectProCardProcessByRecordId" parameterType="Long" resultMap="ProCardProcessResult">
<include refid="selectProCardProcessVo"/>
where record_id = #{recordId}
</select>
<insert id="insertProCardProcess" parameterType="ProCardProcess" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_card_process
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="cardId != null">card_id,</if>
<if test="cardCode != null">card_code,</if>
<if test="seqNum != null">seq_num,</if>
<if test="processId != null">process_id,</if>
<if test="processCode != null">process_code,</if>
<if test="processName != null">process_name,</if>
<if test="inputTime != null">input_time,</if>
<if test="outputTime != null">output_time,</if>
<if test="quantityInput != null">quantity_input,</if>
<if test="quantityOutput != null">quantity_output,</if>
<if test="quantityUnquanlify != null">quantity_unquanlify,</if>
<if test="workstationId != null">workstation_id,</if>
<if test="workstationCode != null">workstation_code,</if>
<if test="workstationName != null">workstation_name,</if>
<if test="userId != null">user_id,</if>
<if test="userName != null">user_name,</if>
<if test="nickName != null">nick_name,</if>
<if test="ipqcId != null">ipqc_id,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</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>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cardId != null">#{cardId},</if>
<if test="cardCode != null">#{cardCode},</if>
<if test="seqNum != null">#{seqNum},</if>
<if test="processId != null">#{processId},</if>
<if test="processCode != null">#{processCode},</if>
<if test="processName != null">#{processName},</if>
<if test="inputTime != null">#{inputTime},</if>
<if test="outputTime != null">#{outputTime},</if>
<if test="quantityInput != null">#{quantityInput},</if>
<if test="quantityOutput != null">#{quantityOutput},</if>
<if test="quantityUnquanlify != null">#{quantityUnquanlify},</if>
<if test="workstationId != null">#{workstationId},</if>
<if test="workstationCode != null">#{workstationCode},</if>
<if test="workstationName != null">#{workstationName},</if>
<if test="userId != null">#{userId},</if>
<if test="userName != null">#{userName},</if>
<if test="nickName != null">#{nickName},</if>
<if test="ipqcId != null">#{ipqcId},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</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>
</trim>
</insert>
<update id="updateProCardProcess" parameterType="ProCardProcess">
update pro_card_process
<trim prefix="SET" suffixOverrides=",">
<if test="cardId != null">card_id = #{cardId},</if>
<if test="cardCode != null">card_code = #{cardCode},</if>
<if test="seqNum != null">seq_num = #{seqNum},</if>
<if test="processId != null">process_id = #{processId},</if>
<if test="processCode != null">process_code = #{processCode},</if>
<if test="processName != null">process_name = #{processName},</if>
<if test="inputTime != null">input_time = #{inputTime},</if>
<if test="outputTime != null">output_time = #{outputTime},</if>
<if test="quantityInput != null">quantity_input = #{quantityInput},</if>
<if test="quantityOutput != null">quantity_output = #{quantityOutput},</if>
<if test="quantityUnquanlify != null">quantity_unquanlify = #{quantityUnquanlify},</if>
<if test="workstationId != null">workstation_id = #{workstationId},</if>
<if test="workstationCode != null">workstation_code = #{workstationCode},</if>
<if test="workstationName != null">workstation_name = #{workstationName},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="userName != null">user_name = #{userName},</if>
<if test="nickName != null">nick_name = #{nickName},</if>
<if test="ipqcId != null">ipqc_id = #{ipqcId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</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>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteProCardProcessByRecordId" parameterType="Long">
delete from pro_card_process where record_id = #{recordId}
</delete>
<delete id="deleteProCardProcessByRecordIds" parameterType="String">
delete from pro_card_process where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,177 @@
<?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.ktg.mes.pro.mapper.ProSnProcessMapper">
<resultMap type="ProSnProcess" id="ProSnProcessResult">
<result property="recordId" column="record_id" />
<result property="snId" column="sn_id" />
<result property="snCode" column="sn_code" />
<result property="seqNum" column="seq_num" />
<result property="processId" column="process_id" />
<result property="processCode" column="process_code" />
<result property="processName" column="process_name" />
<result property="inputTime" column="input_time" />
<result property="outputTime" column="output_time" />
<result property="quantityInput" column="quantity_input" />
<result property="quantityOutput" column="quantity_output" />
<result property="quantityUnquanlify" column="quantity_unquanlify" />
<result property="workstationId" column="workstation_id" />
<result property="workstationCode" column="workstation_code" />
<result property="workstationName" column="workstation_name" />
<result property="userId" column="user_id" />
<result property="userName" column="user_name" />
<result property="nickName" column="nick_name" />
<result property="ipqcId" column="ipqc_id" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectProSnProcessVo">
select record_id, sn_id, sn_code, seq_num, process_id, process_code, process_name, input_time, output_time, quantity_input, quantity_output, quantity_unquanlify, workstation_id, workstation_code, workstation_name, user_id, user_name, nick_name, ipqc_id, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_sn_process
</sql>
<select id="selectProSnProcessList" parameterType="ProSnProcess" resultMap="ProSnProcessResult">
<include refid="selectProSnProcessVo"/>
<where>
<if test="snId != null "> and sn_id = #{snId}</if>
<if test="snCode != null and snCode != ''"> and sn_code = #{snCode}</if>
<if test="seqNum != null "> and seq_num = #{seqNum}</if>
<if test="processId != null "> and process_id = #{processId}</if>
<if test="processCode != null and processCode != ''"> and process_code = #{processCode}</if>
<if test="processName != null and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
<if test="inputTime != null "> and input_time = #{inputTime}</if>
<if test="outputTime != null "> and output_time = #{outputTime}</if>
<if test="quantityInput != null "> and quantity_input = #{quantityInput}</if>
<if test="quantityOutput != null "> and quantity_output = #{quantityOutput}</if>
<if test="quantityUnquanlify != null "> and quantity_unquanlify = #{quantityUnquanlify}</if>
<if test="workstationId != null "> and workstation_id = #{workstationId}</if>
<if test="workstationCode != null and workstationCode != ''"> and workstation_code = #{workstationCode}</if>
<if test="workstationName != null and workstationName != ''"> and workstation_name like concat('%', #{workstationName}, '%')</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
<if test="ipqcId != null "> and ipqc_id = #{ipqcId}</if>
</where>
</select>
<select id="selectProSnProcessByRecordId" parameterType="Long" resultMap="ProSnProcessResult">
<include refid="selectProSnProcessVo"/>
where record_id = #{recordId}
</select>
<insert id="insertProSnProcess" parameterType="ProSnProcess" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_sn_process
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="snId != null">sn_id,</if>
<if test="snCode != null">sn_code,</if>
<if test="seqNum != null">seq_num,</if>
<if test="processId != null">process_id,</if>
<if test="processCode != null">process_code,</if>
<if test="processName != null">process_name,</if>
<if test="inputTime != null">input_time,</if>
<if test="outputTime != null">output_time,</if>
<if test="quantityInput != null">quantity_input,</if>
<if test="quantityOutput != null">quantity_output,</if>
<if test="quantityUnquanlify != null">quantity_unquanlify,</if>
<if test="workstationId != null">workstation_id,</if>
<if test="workstationCode != null">workstation_code,</if>
<if test="workstationName != null">workstation_name,</if>
<if test="userId != null">user_id,</if>
<if test="userName != null">user_name,</if>
<if test="nickName != null">nick_name,</if>
<if test="ipqcId != null">ipqc_id,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</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>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="snId != null">#{snId},</if>
<if test="snCode != null">#{snCode},</if>
<if test="seqNum != null">#{seqNum},</if>
<if test="processId != null">#{processId},</if>
<if test="processCode != null">#{processCode},</if>
<if test="processName != null">#{processName},</if>
<if test="inputTime != null">#{inputTime},</if>
<if test="outputTime != null">#{outputTime},</if>
<if test="quantityInput != null">#{quantityInput},</if>
<if test="quantityOutput != null">#{quantityOutput},</if>
<if test="quantityUnquanlify != null">#{quantityUnquanlify},</if>
<if test="workstationId != null">#{workstationId},</if>
<if test="workstationCode != null">#{workstationCode},</if>
<if test="workstationName != null">#{workstationName},</if>
<if test="userId != null">#{userId},</if>
<if test="userName != null">#{userName},</if>
<if test="nickName != null">#{nickName},</if>
<if test="ipqcId != null">#{ipqcId},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</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>
</trim>
</insert>
<update id="updateProSnProcess" parameterType="ProSnProcess">
update pro_sn_process
<trim prefix="SET" suffixOverrides=",">
<if test="snId != null">sn_id = #{snId},</if>
<if test="snCode != null">sn_code = #{snCode},</if>
<if test="seqNum != null">seq_num = #{seqNum},</if>
<if test="processId != null">process_id = #{processId},</if>
<if test="processCode != null">process_code = #{processCode},</if>
<if test="processName != null">process_name = #{processName},</if>
<if test="inputTime != null">input_time = #{inputTime},</if>
<if test="outputTime != null">output_time = #{outputTime},</if>
<if test="quantityInput != null">quantity_input = #{quantityInput},</if>
<if test="quantityOutput != null">quantity_output = #{quantityOutput},</if>
<if test="quantityUnquanlify != null">quantity_unquanlify = #{quantityUnquanlify},</if>
<if test="workstationId != null">workstation_id = #{workstationId},</if>
<if test="workstationCode != null">workstation_code = #{workstationCode},</if>
<if test="workstationName != null">workstation_name = #{workstationName},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="userName != null">user_name = #{userName},</if>
<if test="nickName != null">nick_name = #{nickName},</if>
<if test="ipqcId != null">ipqc_id = #{ipqcId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</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>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteProSnProcessByRecordId" parameterType="Long">
delete from pro_sn_process where record_id = #{recordId}
</delete>
<delete id="deleteProSnProcessByRecordIds" parameterType="String">
delete from pro_sn_process where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
</mapper>

View File

@ -14,6 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="unitOfMeasure" column="unit_of_measure" />
<result property="batchCode" column="batch_code" />
<result property="snNum" column="snNum"></result>
<result property="workOrderId" column="work_order_id"></result>
<result property="inputTime" column="input_time"></result>
<result property="genDate" column="gen_date"></result>
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
@ -27,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectWmSnVo">
select sn_id, sn_code, item_id, item_code, item_name, specification, unit_of_measure, batch_code,gen_date, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_sn
select sn_id, sn_code, item_id, item_code, item_name, specification, unit_of_measure, batch_code, work_order_id, gen_date, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_sn
</sql>
<select id="selectWmSnList" parameterType="WmSn" resultMap="WmSnResult">
@ -40,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="specification != null and specification != ''"> and specification = #{specification}</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''"> and unit_of_measure = #{unitOfMeasure}</if>
<if test="batchCode != null and batchCode != ''"> and batch_code = #{batchCode}</if>
<if test="workOderId != null and workOrderId != ''"> and work_order_id = #{workOrderId}</if>
</where>
</select>
@ -64,6 +67,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by item_id,batch_code desc
</select>
<select id="getStationList" parameterType="WmSn" resultMap="WmSnResult">
select sn.sn_id,sn.sn_code,sn.item_id,sn.item_code,sn.item_name,sn.specification,sn.unit_of_measure,ps.input_time
from wm_sn sn
left join pro_sn_process ps
on sn.sn_id = ps.sn_id
where sn.work_order_id =#{workOrderId}
and ps.workstation_id = #{workStationId}
order by ps.input_time desc
</select>
<insert id="insertWmSn" parameterType="WmSn" useGeneratedKeys="true" keyProperty="snId">
insert into wm_sn
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -74,6 +88,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="specification != null">specification,</if>
<if test="unitOfMeasure != null">unit_of_measure,</if>
<if test="batchCode != null">batch_code,</if>
<if test="workOderId != null">work_order_id,</if>
<if test="genDate !=null">gen_date,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
@ -93,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="specification != null">#{specification},</if>
<if test="unitOfMeasure != null">#{unitOfMeasure},</if>
<if test="batchCode != null">#{batchCode},</if>
<if test="workOderId != null">#{workOrderId},</if>
<if test="genDate !=null">#{genDate},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
@ -116,6 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="specification != null">specification = #{specification},</if>
<if test="unitOfMeasure != null">unit_of_measure = #{unitOfMeasure},</if>
<if test="batchCode != null">batch_code = #{batchCode},</if>
<if test="workOderId != null">work_order_id = #{workOrderId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>

View File

@ -22,7 +22,11 @@
<artifactId>netty-all</artifactId>
<version>4.1.65.Final</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>

View File

@ -0,0 +1,36 @@
package com.ktg.print.controller.mobile;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.print.domain.PrintPrinterConfig;
import com.ktg.print.service.IPrintPrinterConfigService;
import io.swagger.annotations.Api;
import com.ktg.common.core.controller.BaseController;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author yinjinlu
* @description
* @date 2024/11/24
*/
@Api("标签打印机查询接口")
@RestController
@RequestMapping("/mobile/print/printerconfig")
public class PrintPrinterMobileController extends BaseController {
@Autowired
private IPrintPrinterConfigService printPrinterConfigService;
@ApiOperation("查询打印机清单")
@GetMapping("/list")
public AjaxResult getPrinterList(PrintPrinterConfig param){
List<PrintPrinterConfig> list = printPrinterConfigService.selectPrintPrinterConfigList(param);
return AjaxResult.success(list);
}
}