密炼机动作维护、日罐物料对应关系
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
package org.jeecg.modules.xslmes.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslDayTankMaterialMap;
|
||||
import org.jeecg.modules.xslmes.service.IMesXslDayTankMaterialMapService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@Tag(name = "日罐物料对应信息")
|
||||
@RestController
|
||||
@RequestMapping("/xslmes/mesXslDayTankMaterialMap")
|
||||
public class MesXslDayTankMaterialMapController
|
||||
extends JeecgController<MesXslDayTankMaterialMap, IMesXslDayTankMaterialMapService> {
|
||||
|
||||
@Autowired private IMesXslDayTankMaterialMapService dayTankMaterialMapService;
|
||||
|
||||
@Operation(summary = "日罐物料对应信息-分页列表查询")
|
||||
@GetMapping("/list")
|
||||
public Result<IPage<MesXslDayTankMaterialMap>> queryPageList(
|
||||
MesXslDayTankMaterialMap model,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<MesXslDayTankMaterialMap> queryWrapper = QueryGenerator.initQueryWrapper(model, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<MesXslDayTankMaterialMap> pageList = dayTankMaterialMapService.page(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@AutoLog(value = "日罐物料对应信息-添加")
|
||||
@Operation(summary = "日罐物料对应信息-添加")
|
||||
@RequiresPermissions("xslmes:mes_xsl_day_tank_material_map:add")
|
||||
@PostMapping("/add")
|
||||
public Result<String> add(@RequestBody MesXslDayTankMaterialMap model) {
|
||||
String err = validateForSave(model);
|
||||
if (err != null) {
|
||||
return Result.error(err);
|
||||
}
|
||||
dayTankMaterialMapService.fillReferenceFields(model);
|
||||
if (StringUtils.isBlank(model.getMachineCode()) || StringUtils.isBlank(model.getMachineName())) {
|
||||
return Result.error("请选择有效的机台名称");
|
||||
}
|
||||
if (StringUtils.isBlank(model.getMaterialName())) {
|
||||
return Result.error("请选择有效的物料名称");
|
||||
}
|
||||
dayTankMaterialMapService.save(model);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "日罐物料对应信息-编辑")
|
||||
@Operation(summary = "日罐物料对应信息-编辑")
|
||||
@RequiresPermissions("xslmes:mes_xsl_day_tank_material_map:edit")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
||||
public Result<String> edit(@RequestBody MesXslDayTankMaterialMap model) {
|
||||
String err = validateForSave(model);
|
||||
if (err != null) {
|
||||
return Result.error(err);
|
||||
}
|
||||
dayTankMaterialMapService.fillReferenceFields(model);
|
||||
if (StringUtils.isBlank(model.getMachineCode()) || StringUtils.isBlank(model.getMachineName())) {
|
||||
return Result.error("请选择有效的机台名称");
|
||||
}
|
||||
if (StringUtils.isBlank(model.getMaterialName())) {
|
||||
return Result.error("请选择有效的物料名称");
|
||||
}
|
||||
dayTankMaterialMapService.updateById(model);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "日罐物料对应信息-通过id删除")
|
||||
@Operation(summary = "日罐物料对应信息-通过id删除")
|
||||
@RequiresPermissions("xslmes:mes_xsl_day_tank_material_map:delete")
|
||||
@DeleteMapping("/delete")
|
||||
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
|
||||
dayTankMaterialMapService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "日罐物料对应信息-批量删除")
|
||||
@Operation(summary = "日罐物料对应信息-批量删除")
|
||||
@RequiresPermissions("xslmes:mes_xsl_day_tank_material_map:deleteBatch")
|
||||
@DeleteMapping("/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
||||
dayTankMaterialMapService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
@Operation(summary = "日罐物料对应信息-通过id查询")
|
||||
@GetMapping("/queryById")
|
||||
public Result<MesXslDayTankMaterialMap> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
MesXslDayTankMaterialMap entity = dayTankMaterialMapService.getById(id);
|
||||
if (entity == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(entity);
|
||||
}
|
||||
|
||||
@RequiresPermissions("xslmes:mes_xsl_day_tank_material_map:exportXls")
|
||||
@RequestMapping("/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, MesXslDayTankMaterialMap model) {
|
||||
return super.exportXls(request, model, MesXslDayTankMaterialMap.class, "日罐物料对应信息");
|
||||
}
|
||||
|
||||
private String validateForSave(MesXslDayTankMaterialMap model) {
|
||||
if (oConvertUtils.isEmpty(model.getEquipmentId()) || StringUtils.isBlank(model.getEquipmentId())) {
|
||||
return "机台名称不能为空";
|
||||
}
|
||||
model.setEquipmentId(model.getEquipmentId().trim());
|
||||
if (oConvertUtils.isEmpty(model.getMaterialId()) || StringUtils.isBlank(model.getMaterialId())) {
|
||||
return "物料名称不能为空";
|
||||
}
|
||||
model.setMaterialId(model.getMaterialId().trim());
|
||||
if (model.getUseStatus() == null) {
|
||||
model.setUseStatus(1);
|
||||
}
|
||||
if (model.getAllowSync() == null) {
|
||||
model.setAllowSync(1);
|
||||
}
|
||||
if (model.getSiloCategoryId() != null) {
|
||||
model.setSiloCategoryId(model.getSiloCategoryId().trim());
|
||||
}
|
||||
if (model.getStation() != null) {
|
||||
model.setStation(model.getStation().trim());
|
||||
}
|
||||
if (model.getSiloNo() != null) {
|
||||
model.setSiloNo(model.getSiloNo().trim());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
package org.jeecg.modules.xslmes.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslMixerAction;
|
||||
import org.jeecg.modules.xslmes.service.IMesXslMixerActionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@Tag(name = "密炼机动作维护")
|
||||
@RestController
|
||||
@RequestMapping("/xslmes/mesXslMixerAction")
|
||||
public class MesXslMixerActionController extends JeecgController<MesXslMixerAction, IMesXslMixerActionService> {
|
||||
|
||||
@Autowired private IMesXslMixerActionService mesXslMixerActionService;
|
||||
|
||||
@Operation(summary = "密炼机动作维护-分页列表查询")
|
||||
@GetMapping("/list")
|
||||
public Result<IPage<MesXslMixerAction>> queryPageList(
|
||||
MesXslMixerAction model,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<MesXslMixerAction> queryWrapper = QueryGenerator.initQueryWrapper(model, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<MesXslMixerAction> pageList = mesXslMixerActionService.page(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@AutoLog(value = "密炼机动作维护-添加")
|
||||
@Operation(summary = "密炼机动作维护-添加")
|
||||
@RequiresPermissions("xslmes:mes_xsl_mixer_action:add")
|
||||
@PostMapping("/add")
|
||||
public Result<String> add(@RequestBody MesXslMixerAction model) {
|
||||
String err = validateForSave(model, null);
|
||||
if (err != null) {
|
||||
return Result.error(err);
|
||||
}
|
||||
mesXslMixerActionService.fillEquipmentName(model);
|
||||
if (StringUtils.isBlank(model.getEquipmentName())) {
|
||||
return Result.error("请选择有效的设备名称");
|
||||
}
|
||||
mesXslMixerActionService.save(model);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "密炼机动作维护-编辑")
|
||||
@Operation(summary = "密炼机动作维护-编辑")
|
||||
@RequiresPermissions("xslmes:mes_xsl_mixer_action:edit")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
||||
public Result<String> edit(@RequestBody MesXslMixerAction model) {
|
||||
String err = validateForSave(model, model.getId());
|
||||
if (err != null) {
|
||||
return Result.error(err);
|
||||
}
|
||||
mesXslMixerActionService.fillEquipmentName(model);
|
||||
if (StringUtils.isBlank(model.getEquipmentName())) {
|
||||
return Result.error("请选择有效的设备名称");
|
||||
}
|
||||
mesXslMixerActionService.updateById(model);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "密炼机动作维护-通过id删除")
|
||||
@Operation(summary = "密炼机动作维护-通过id删除")
|
||||
@RequiresPermissions("xslmes:mes_xsl_mixer_action:delete")
|
||||
@DeleteMapping("/delete")
|
||||
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
|
||||
mesXslMixerActionService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "密炼机动作维护-批量删除")
|
||||
@Operation(summary = "密炼机动作维护-批量删除")
|
||||
@RequiresPermissions("xslmes:mes_xsl_mixer_action:deleteBatch")
|
||||
@DeleteMapping("/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
||||
mesXslMixerActionService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
@Operation(summary = "密炼机动作维护-通过id查询")
|
||||
@GetMapping("/queryById")
|
||||
public Result<MesXslMixerAction> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
MesXslMixerAction entity = mesXslMixerActionService.getById(id);
|
||||
if (entity == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(entity);
|
||||
}
|
||||
|
||||
@Operation(summary = "校验动作名称是否重复")
|
||||
@GetMapping("/checkActionName")
|
||||
public Result<String> checkActionName(
|
||||
@RequestParam(name = "actionName", required = true) String actionName,
|
||||
@RequestParam(name = "dataId", required = false) String dataId) {
|
||||
if (oConvertUtils.isEmpty(actionName) || actionName.trim().isEmpty()) {
|
||||
return Result.OK("该值可用!");
|
||||
}
|
||||
if (mesXslMixerActionService.isActionNameDuplicated(actionName, dataId)) {
|
||||
return Result.error("动作名称不能重复");
|
||||
}
|
||||
return Result.OK("该值可用!");
|
||||
}
|
||||
|
||||
@Operation(summary = "校验动作代号是否重复")
|
||||
@GetMapping("/checkActionCode")
|
||||
public Result<String> checkActionCode(
|
||||
@RequestParam(name = "actionCode", required = true) String actionCode,
|
||||
@RequestParam(name = "dataId", required = false) String dataId) {
|
||||
if (oConvertUtils.isEmpty(actionCode) || actionCode.trim().isEmpty()) {
|
||||
return Result.OK("该值可用!");
|
||||
}
|
||||
if (mesXslMixerActionService.isActionCodeDuplicated(actionCode, dataId)) {
|
||||
return Result.error("动作代号不能重复");
|
||||
}
|
||||
return Result.OK("该值可用!");
|
||||
}
|
||||
|
||||
@RequiresPermissions("xslmes:mes_xsl_mixer_action:exportXls")
|
||||
@RequestMapping("/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, MesXslMixerAction model) {
|
||||
return super.exportXls(request, model, MesXslMixerAction.class, "密炼机动作维护");
|
||||
}
|
||||
|
||||
private String validateForSave(MesXslMixerAction model, String excludeId) {
|
||||
if (oConvertUtils.isEmpty(model.getEquipmentId()) || StringUtils.isBlank(model.getEquipmentId())) {
|
||||
return "设备名称不能为空";
|
||||
}
|
||||
model.setEquipmentId(model.getEquipmentId().trim());
|
||||
if (oConvertUtils.isEmpty(model.getActionName()) || StringUtils.isBlank(model.getActionName())) {
|
||||
return "动作名称不能为空";
|
||||
}
|
||||
model.setActionName(model.getActionName().trim());
|
||||
if (mesXslMixerActionService.isActionNameDuplicated(model.getActionName(), excludeId)) {
|
||||
return "动作名称不能重复";
|
||||
}
|
||||
if (oConvertUtils.isEmpty(model.getActionCode()) || StringUtils.isBlank(model.getActionCode())) {
|
||||
return "动作代号不能为空";
|
||||
}
|
||||
model.setActionCode(model.getActionCode().trim());
|
||||
if (mesXslMixerActionService.isActionCodeDuplicated(model.getActionCode(), excludeId)) {
|
||||
return "动作代号不能重复";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package org.jeecg.modules.xslmes.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* MES 日罐物料对应信息
|
||||
*/
|
||||
@Data
|
||||
@TableName("mes_xsl_day_tank_material_map")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Schema(description = "MES日罐物料对应信息")
|
||||
public class MesXslDayTankMaterialMap implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@Excel(name = "机台名称", width = 20, dictTable = "mes_xsl_equipment_ledger", dicText = "equipment_name", dicCode = "id")
|
||||
@Dict(dictTable = "mes_xsl_equipment_ledger", dicText = "equipment_name", dicCode = "id")
|
||||
@Schema(description = "设备台账ID")
|
||||
private String equipmentId;
|
||||
|
||||
@Excel(name = "机台代码", width = 20)
|
||||
@Schema(description = "机台代码(设备编号冗余)")
|
||||
private String machineCode;
|
||||
|
||||
@Excel(name = "机台名称", width = 20)
|
||||
@Schema(description = "机台名称冗余")
|
||||
private String machineName;
|
||||
|
||||
@Excel(name = "料仓分类", width = 20, dictTable = "sys_category", dicText = "name", dicCode = "id")
|
||||
@Dict(dictTable = "sys_category", dicText = "name", dicCode = "id")
|
||||
@Schema(description = "料仓分类ID(分类字典)")
|
||||
private String siloCategoryId;
|
||||
|
||||
@Excel(name = "工位", width = 20)
|
||||
@Schema(description = "工位")
|
||||
private String station;
|
||||
|
||||
@Excel(name = "料仓号", width = 20)
|
||||
@Schema(description = "料仓号")
|
||||
private String siloNo;
|
||||
|
||||
@Excel(name = "物料名称", width = 20, dictTable = "mes_material", dicText = "material_name", dicCode = "id")
|
||||
@Dict(dictTable = "mes_material", dicText = "material_name", dicCode = "id")
|
||||
@Schema(description = "胶料信息ID")
|
||||
private String materialId;
|
||||
|
||||
@Excel(name = "物料名称", width = 20)
|
||||
@Schema(description = "物料名称冗余")
|
||||
private String materialName;
|
||||
|
||||
@Excel(name = "使用状态", width = 12, replace = {"使用中_1", "停用_0"})
|
||||
@Schema(description = "使用状态:1使用中 0停用")
|
||||
private Integer useStatus;
|
||||
|
||||
@Excel(name = "是否允许同步", width = 12, replace = {"允许_1", "不允许_0"})
|
||||
@Schema(description = "是否允许同步:1允许 0不允许")
|
||||
private Integer allowSync;
|
||||
|
||||
private Integer tenantId;
|
||||
private String sysOrgCode;
|
||||
private String createBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
private String updateBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
private Integer delFlag;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package org.jeecg.modules.xslmes.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* MES 密炼机动作维护
|
||||
*/
|
||||
@Data
|
||||
@TableName("mes_xsl_mixer_action")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Schema(description = "MES密炼机动作维护")
|
||||
public class MesXslMixerAction implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@Excel(name = "设备名称", width = 20, dictTable = "mes_xsl_equipment_ledger", dicText = "equipment_name", dicCode = "id")
|
||||
@Dict(dictTable = "mes_xsl_equipment_ledger", dicText = "equipment_name", dicCode = "id")
|
||||
@Schema(description = "设备台账ID")
|
||||
private String equipmentId;
|
||||
|
||||
@Excel(name = "设备名称", width = 20)
|
||||
@Schema(description = "设备名称冗余")
|
||||
private String equipmentName;
|
||||
|
||||
@Excel(name = "动作名称", width = 20)
|
||||
@Schema(description = "动作名称")
|
||||
private String actionName;
|
||||
|
||||
@Excel(name = "动作代号", width = 20)
|
||||
@Schema(description = "动作代号")
|
||||
private String actionCode;
|
||||
|
||||
@Excel(name = "备注", width = 30)
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
private Integer tenantId;
|
||||
private String sysOrgCode;
|
||||
private String createBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
private String updateBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
private Integer delFlag;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.jeecg.modules.xslmes.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslDayTankMaterialMap;
|
||||
|
||||
public interface MesXslDayTankMaterialMapMapper extends BaseMapper<MesXslDayTankMaterialMap> {}
|
||||
@@ -0,0 +1,6 @@
|
||||
package org.jeecg.modules.xslmes.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslMixerAction;
|
||||
|
||||
public interface MesXslMixerActionMapper extends BaseMapper<MesXslMixerAction> {}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.jeecg.modules.xslmes.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslDayTankMaterialMap;
|
||||
|
||||
public interface IMesXslDayTankMaterialMapService extends IService<MesXslDayTankMaterialMap> {
|
||||
|
||||
/**
|
||||
* 由选择类字段ID回填冗余展示信息(机台代码/机台名称/物料名称)
|
||||
*/
|
||||
void fillReferenceFields(MesXslDayTankMaterialMap model);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.jeecg.modules.xslmes.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslMixerAction;
|
||||
|
||||
public interface IMesXslMixerActionService extends IService<MesXslMixerAction> {
|
||||
|
||||
boolean isActionNameDuplicated(String actionName, String excludeId);
|
||||
|
||||
boolean isActionCodeDuplicated(String actionCode, String excludeId);
|
||||
|
||||
void fillEquipmentName(MesXslMixerAction model);
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package org.jeecg.modules.xslmes.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.modules.mes.material.entity.MesMaterial;
|
||||
import org.jeecg.modules.mes.material.mapper.MesMaterialMapper;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslDayTankMaterialMap;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslEquipmentLedger;
|
||||
import org.jeecg.modules.xslmes.mapper.MesXslDayTankMaterialMapMapper;
|
||||
import org.jeecg.modules.xslmes.mapper.MesXslEquipmentLedgerMapper;
|
||||
import org.jeecg.modules.xslmes.service.IMesXslDayTankMaterialMapService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class MesXslDayTankMaterialMapServiceImpl
|
||||
extends ServiceImpl<MesXslDayTankMaterialMapMapper, MesXslDayTankMaterialMap>
|
||||
implements IMesXslDayTankMaterialMapService {
|
||||
|
||||
@Autowired private MesXslEquipmentLedgerMapper equipmentLedgerMapper;
|
||||
@Autowired private MesMaterialMapper mesMaterialMapper;
|
||||
|
||||
@Override
|
||||
public void fillReferenceFields(MesXslDayTankMaterialMap model) {
|
||||
if (model == null) {
|
||||
return;
|
||||
}
|
||||
fillEquipmentFields(model);
|
||||
fillMaterialFields(model);
|
||||
}
|
||||
|
||||
private void fillEquipmentFields(MesXslDayTankMaterialMap model) {
|
||||
if (StringUtils.isBlank(model.getEquipmentId())) {
|
||||
model.setMachineCode(null);
|
||||
model.setMachineName(null);
|
||||
return;
|
||||
}
|
||||
MesXslEquipmentLedger equipment = equipmentLedgerMapper.selectById(model.getEquipmentId().trim());
|
||||
if (equipment == null) {
|
||||
model.setMachineCode(null);
|
||||
model.setMachineName(null);
|
||||
return;
|
||||
}
|
||||
model.setMachineCode(equipment.getEquipmentCode());
|
||||
model.setMachineName(equipment.getEquipmentName());
|
||||
}
|
||||
|
||||
private void fillMaterialFields(MesXslDayTankMaterialMap model) {
|
||||
if (StringUtils.isBlank(model.getMaterialId())) {
|
||||
model.setMaterialName(null);
|
||||
return;
|
||||
}
|
||||
MesMaterial material = mesMaterialMapper.selectById(model.getMaterialId().trim());
|
||||
model.setMaterialName(material == null ? null : material.getMaterialName());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package org.jeecg.modules.xslmes.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslEquipmentLedger;
|
||||
import org.jeecg.modules.xslmes.entity.MesXslMixerAction;
|
||||
import org.jeecg.modules.xslmes.mapper.MesXslEquipmentLedgerMapper;
|
||||
import org.jeecg.modules.xslmes.mapper.MesXslMixerActionMapper;
|
||||
import org.jeecg.modules.xslmes.service.IMesXslMixerActionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class MesXslMixerActionServiceImpl extends ServiceImpl<MesXslMixerActionMapper, MesXslMixerAction>
|
||||
implements IMesXslMixerActionService {
|
||||
|
||||
@Autowired private MesXslEquipmentLedgerMapper equipmentLedgerMapper;
|
||||
|
||||
@Override
|
||||
public boolean isActionNameDuplicated(String actionName, String excludeId) {
|
||||
if (StringUtils.isBlank(actionName)) {
|
||||
return false;
|
||||
}
|
||||
LambdaQueryWrapper<MesXslMixerAction> wrapper =
|
||||
new LambdaQueryWrapper<MesXslMixerAction>().eq(MesXslMixerAction::getActionName, actionName.trim());
|
||||
if (StringUtils.isNotBlank(excludeId)) {
|
||||
wrapper.ne(MesXslMixerAction::getId, excludeId.trim());
|
||||
}
|
||||
return this.count(wrapper) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActionCodeDuplicated(String actionCode, String excludeId) {
|
||||
if (StringUtils.isBlank(actionCode)) {
|
||||
return false;
|
||||
}
|
||||
LambdaQueryWrapper<MesXslMixerAction> wrapper =
|
||||
new LambdaQueryWrapper<MesXslMixerAction>().eq(MesXslMixerAction::getActionCode, actionCode.trim());
|
||||
if (StringUtils.isNotBlank(excludeId)) {
|
||||
wrapper.ne(MesXslMixerAction::getId, excludeId.trim());
|
||||
}
|
||||
return this.count(wrapper) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillEquipmentName(MesXslMixerAction model) {
|
||||
if (model == null) {
|
||||
return;
|
||||
}
|
||||
if (StringUtils.isBlank(model.getEquipmentId())) {
|
||||
model.setEquipmentName(null);
|
||||
return;
|
||||
}
|
||||
MesXslEquipmentLedger ledger = equipmentLedgerMapper.selectById(model.getEquipmentId().trim());
|
||||
model.setEquipmentName(ledger == null ? null : ledger.getEquipmentName());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user