流转卡相关功能

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 = '生产任务投料表'; ) 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、物料消耗记录表 -- 4、物料消耗记录表
-- ---------------------------- -- ----------------------------
@ -640,3 +595,45 @@ create table pro_card_process (
) engine=innodb auto_increment=200 comment = '工序流转卡-工序信息表'; ) 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 '规格型号', specification varchar(500) comment '规格型号',
unit_of_measure varchar(64) comment '单位', unit_of_measure varchar(64) comment '单位',
batch_code varchar(255) comment '批次号', batch_code varchar(255) comment '批次号',
gen_date datetime comment '生成时间',
workorder_id bigint(20) comment '生产工单ID',
remark varchar(500) default '' comment '备注', remark varchar(500) default '' comment '备注',
attr1 varchar(64) default null comment '预留字段1', attr1 varchar(64) default null comment '预留字段1',
attr2 varchar(255) default null comment '预留字段2', 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 TRANSFER_CODE ="TRANSFER_CODE"; //移库
public static final String STOCKTAKING_CODE ="STOCKTAKING_CODE"; //盘库单 public static final String STOCKTAKING_CODE ="STOCKTAKING_CODE"; //盘库单
public static final String FEEDBACK_CODE ="FEEDBACK_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 cn.hutool.core.date.DateUtil;
import com.ktg.common.constant.UserConstants; import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.StringUtils;
import com.ktg.system.strategy.AutoCodeUtil; import com.ktg.system.strategy.AutoCodeUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -88,6 +90,23 @@ public class WmSnController extends BaseController
return AjaxResult.success(wmSnService.selectWmSnBySnId(snId)); 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码 * 新增SN码
*/ */

View File

@ -49,6 +49,13 @@ public class WmSn extends BaseEntity
@Excel(name = "批次号") @Excel(name = "批次号")
private String batchCode; private String batchCode;
private Long workOrderId;
private Date inputTime;
private Long workStationId;
/** /**
* SN码的数量 * SN码的数量
*/ */
@ -196,6 +203,31 @@ public class WmSn extends BaseEntity
return attr4; 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 @Override
public String toString() { public String toString() {
return "WmSn{" + return "WmSn{" +

View File

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

View File

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

View File

@ -49,6 +49,11 @@ public class WmSnServiceImpl implements IWmSnService
return wmSnMapper.selectSnList(wmSn); return wmSnMapper.selectSnList(wmSn);
} }
@Override
public List<WmSn> getStationList(WmSn sn) {
return wmSnMapper.getStationList(sn);
}
/** /**
* 新增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="unitOfMeasure" column="unit_of_measure" />
<result property="batchCode" column="batch_code" /> <result property="batchCode" column="batch_code" />
<result property="snNum" column="snNum"></result> <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="genDate" column="gen_date"></result>
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="attr1" column="attr1" /> <result property="attr1" column="attr1" />
@ -27,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectWmSnVo"> <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> </sql>
<select id="selectWmSnList" parameterType="WmSn" resultMap="WmSnResult"> <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="specification != null and specification != ''"> and specification = #{specification}</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''"> and unit_of_measure = #{unitOfMeasure}</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="batchCode != null and batchCode != ''"> and batch_code = #{batchCode}</if>
<if test="workOderId != null and workOrderId != ''"> and work_order_id = #{workOrderId}</if>
</where> </where>
</select> </select>
@ -63,7 +66,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by item_id, item_code, item_name, specification, unit_of_measure, batch_code, gen_date group by item_id, item_code, item_name, specification, unit_of_measure, batch_code, gen_date
order by item_id,batch_code desc order by item_id,batch_code desc
</select> </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 id="insertWmSn" parameterType="WmSn" useGeneratedKeys="true" keyProperty="snId">
insert into wm_sn insert into wm_sn
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -74,6 +88,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="specification != null">specification,</if> <if test="specification != null">specification,</if>
<if test="unitOfMeasure != null">unit_of_measure,</if> <if test="unitOfMeasure != null">unit_of_measure,</if>
<if test="batchCode != null">batch_code,</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="genDate !=null">gen_date,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</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="specification != null">#{specification},</if>
<if test="unitOfMeasure != null">#{unitOfMeasure},</if> <if test="unitOfMeasure != null">#{unitOfMeasure},</if>
<if test="batchCode != null">#{batchCode},</if> <if test="batchCode != null">#{batchCode},</if>
<if test="workOderId != null">#{workOrderId},</if>
<if test="genDate !=null">#{genDate},</if> <if test="genDate !=null">#{genDate},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</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="specification != null">specification = #{specification},</if>
<if test="unitOfMeasure != null">unit_of_measure = #{unitOfMeasure},</if> <if test="unitOfMeasure != null">unit_of_measure = #{unitOfMeasure},</if>
<if test="batchCode != null">batch_code = #{batchCode},</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="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if> <if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if> <if test="attr2 != null">attr2 = #{attr2},</if>

View File

@ -22,7 +22,11 @@
<artifactId>netty-all</artifactId> <artifactId>netty-all</artifactId>
<version>4.1.65.Final</version> <version>4.1.65.Final</version>
</dependency> </dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>
<dependency> <dependency>
<groupId>com.google.protobuf</groupId> <groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId> <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);
}
}