diff --git a/op-modules/op-mes/op-modules-mes.iml b/op-modules/op-mes/op-modules-mes.iml deleted file mode 100644 index c65dbc08b..000000000 --- a/op-modules/op-mes/op-modules-mes.iml +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapController.java new file mode 100644 index 000000000..703c1d070 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapController.java @@ -0,0 +1,137 @@ +package com.op.mes.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.mes.domain.ProEmbryoScrap; +import com.op.mes.domain.ProEmbryoScrapDetail; +import com.op.mes.domain.Product; +import com.op.mes.domain.SysPost; +import com.op.mes.service.IProEmbryoScrapDetailService; +import com.op.mes.service.IProEmbryoScrapService; +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.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 报废Controller + * + * @author Open Platform + * @date 2023-08-01 + */ +@RestController +@RequestMapping("/scrap") +public class ProEmbryoScrapController extends BaseController { + @Autowired + private IProEmbryoScrapService proEmbryoScrapService; + + + /** + * 查询报废列表 + */ + @RequiresPermissions("mes:scrap:list") + @GetMapping("/list") + public TableDataInfo list(ProEmbryoScrap proEmbryoScrap) { + startPage(); + List list = proEmbryoScrapService.selectProEmbryoScrapList(proEmbryoScrap); + return getDataTable(list); + } + + /** + * 导出报废列表 + */ + @RequiresPermissions("mes:scrap:export") + @Log(title = "报废", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProEmbryoScrap proEmbryoScrap) { + List list = proEmbryoScrapService.selectProEmbryoScrapList(proEmbryoScrap); + ExcelUtil util = new ExcelUtil(ProEmbryoScrap.class); + util.exportExcel(response, list, "报废列表数据"); + } + /** + * 获取报废详细信息 + */ + @RequiresPermissions("mes:scrap:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + + return success(proEmbryoScrapService.selectProEmbryoScrapById(id)); + } + + /** + * 新增报废 + */ + @RequiresPermissions("mes:scrap:add") + @Log(title = "报废", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProEmbryoScrap proEmbryoScrap) { + return toAjax(proEmbryoScrapService.insertProEmbryoScrap(proEmbryoScrap)); + } + + /** + * 修改报废 + */ + @RequiresPermissions("mes:scrap:edit") + @Log(title = "报废", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProEmbryoScrap proEmbryoScrap) { + + return toAjax(proEmbryoScrapService.updateProEmbryoScrap(proEmbryoScrap)); + } + + /** + * 删除报废 + */ + @RequiresPermissions("mes:scrap:remove") + @Log(title = "报废", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { + return toAjax(proEmbryoScrapService.deleteProEmbryoScrapByIds(ids)); + } + //搜索物料接口 +// @GetMapping("/selectAll") +// public AjaxResult selectProEmbryoScrap(){ +// return AjaxResult.success(proEmbryoScrapService.selectProEmbryoScrap()); +// } + + /** + * 查询所有物料名称接口 + * @return + */ + @GetMapping("/selectAllMaterial") + public AjaxResult listMaterial(){ + return AjaxResult.success(proEmbryoScrapService.showAllMaterial()); + } + + /** + * 查询所有工位 + * @return + */ + @GetMapping("/selectAllSysPost") + public AjaxResult listSysPost(){ + return AjaxResult.success(proEmbryoScrapService.showSysPost()); + } + + /** + * 查询所有工单信息 + * @return + */ + @GetMapping("/selectAllWorkOrder") + public AjaxResult listWorkOrder(){ + return AjaxResult.success(proEmbryoScrapService.selectAllWorkOrder()); + } + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapDetailController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapDetailController.java new file mode 100644 index 000000000..31c394eef --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProEmbryoScrapDetailController.java @@ -0,0 +1,97 @@ +package com.op.mes.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +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.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.mes.domain.ProEmbryoScrapDetail; +import com.op.mes.service.IProEmbryoScrapDetailService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 报废详情Controller + * + * @author Open Platform + * @date 2023-08-01 + */ +@RestController +@RequestMapping("/detail") +public class ProEmbryoScrapDetailController extends BaseController { + @Autowired + private IProEmbryoScrapDetailService proEmbryoScrapDetailService; + + /** + * 查询报废详情列表 + */ +// @RequiresPermissions("system:detail:list") + @GetMapping("/list") + public TableDataInfo list(ProEmbryoScrapDetail proEmbryoScrapDetail) { + startPage(); + List list = proEmbryoScrapDetailService.selectProEmbryoScrapDetailList(proEmbryoScrapDetail); + return getDataTable(list); + } + + /** + * 导出报废详情列表 + */ +// @RequiresPermissions("system:detail:export") + @Log(title = "报废详情", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProEmbryoScrapDetail proEmbryoScrapDetail) { + List list = proEmbryoScrapDetailService.selectProEmbryoScrapDetailList(proEmbryoScrapDetail); + ExcelUtil util = new ExcelUtil(ProEmbryoScrapDetail.class); + util.exportExcel(response, list, "报废详情数据"); + } + + /** + * 获取报废详情详细信息 + */ +// @RequiresPermissions("system:detail:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + return success(proEmbryoScrapDetailService.selectProEmbryoScrapDetailById(id)); + } + + /** + * 新增报废详情 + */ +// @RequiresPermissions("system:detail:add") + @Log(title = "报废详情", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProEmbryoScrapDetail proEmbryoScrapDetail) { + return toAjax(proEmbryoScrapDetailService.insertProEmbryoScrapDetail(proEmbryoScrapDetail)); + } + + /** + * 修改报废详情 + */ +// @RequiresPermissions("system:detail:edit") + @Log(title = "报废详情", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProEmbryoScrapDetail proEmbryoScrapDetail) { + return toAjax(proEmbryoScrapDetailService.updateProEmbryoScrapDetail(proEmbryoScrapDetail)); + } + + /** + * 删除报废详情 + */ +// @RequiresPermissions("system:detail:remove") + @Log(title = "报废详情", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { + return toAjax(proEmbryoScrapDetailService.deleteProEmbryoScrapDetailByIds(ids)); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrap.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrap.java new file mode 100644 index 000000000..adeb8f09b --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrap.java @@ -0,0 +1,220 @@ +package com.op.mes.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 pro_embryo_scrap + * + * @author Open Platform + * @date 2023-08-01 + */ +public class ProEmbryoScrap extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 报废单号 */ + @Excel(name = "报废单号") + private String scrapCode; + + /** 物料ID */ + @Excel(name = "物料ID") + private String materialId; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 工位ID */ + @Excel(name = "工位ID") + private String workCellId; + + /** 工位编码 */ + @Excel(name = "工位编码") + private String workCellCode; + + /** 工位名称 */ + @Excel(name = "工位名称") + private String workCellName; + + /** 报废数量 */ + @Excel(name = "报废数量") + private Long scrapQuality; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 状态 */ + @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; + + /** 0删除1正常 */ + @Excel(name = "0删除1正常") + private String active; + + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setScrapCode(String scrapCode) { + this.scrapCode = scrapCode; + } + + public String getScrapCode() { + return scrapCode; + } + public void setMaterialId(String materialId) { + this.materialId = materialId; + } + + public String getMaterialId() { + return materialId; + } + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + public void setWorkCellId(String workCellId) { + this.workCellId = workCellId; + } + + public String getWorkCellId() { + return workCellId; + } + public void setWorkCellCode(String workCellCode) { + this.workCellCode = workCellCode; + } + + public String getWorkCellCode() { + return workCellCode; + } + public void setWorkCellName(String workCellName) { + this.workCellName = workCellName; + } + + public String getWorkCellName() { + return workCellName; + } + public void setScrapQuality(Long scrapQuality) { + this.scrapQuality = scrapQuality; + } + + public Long getScrapQuality() { + return scrapQuality; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + 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 void setActive(String active) { + this.active = active; + } + + public String getActive() { + return active; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("scrapCode", getScrapCode()) + .append("materialId", getMaterialId()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("workCellId", getWorkCellId()) + .append("workCellCode", getWorkCellCode()) + .append("workCellName", getWorkCellName()) + .append("scrapQuality", getScrapQuality()) + .append("unit", getUnit()) + .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()) + .append("active", getActive()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrapDetail.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrapDetail.java new file mode 100644 index 000000000..795dae8f4 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProEmbryoScrapDetail.java @@ -0,0 +1,207 @@ +package com.op.mes.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 【请填写功能名称】对象 pro_embryo_scrap_detail + * + * @author Open Platform + * @date 2023-08-01 + */ +public class ProEmbryoScrapDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 报废单号 */ + @Excel(name = "报废单号") + private String scrapCode; + + /** 工单ID */ + @Excel(name = "工单ID") + private String workorderId; + + /** 工单编号 */ + @Excel(name = "工单编号") + private String workorderCode; + + /** 物料ID */ + @Excel(name = "物料ID") + private String materialId; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 物料报废数量 */ + @Excel(name = "物料报废数量") + private Long scrapQuality; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 状态 */ + @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; + + /** 0删除1正常 */ + @Excel(name = "0删除1正常") + private String active; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setScrapCode(String scrapCode) { + this.scrapCode = scrapCode; + } + + public String getScrapCode() { + return scrapCode; + } + public void setWorkorderId(String workorderId) { + this.workorderId = workorderId; + } + + public String getWorkorderId() { + return workorderId; + } + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getWorkorderCode() { + return workorderCode; + } + public void setMaterialId(String materialId) { + this.materialId = materialId; + } + + public String getMaterialId() { + return materialId; + } + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + public void setScrapQuality(Long scrapQuality) { + this.scrapQuality = scrapQuality; + } + + public Long getScrapQuality() { + return scrapQuality; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + 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 void setActive(String active) { + this.active = active; + } + + public String getActive() { + return active; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("scrapCode", getScrapCode()) + .append("workorderId", getWorkorderId()) + .append("workorderCode", getWorkorderCode()) + .append("materialId", getMaterialId()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("scrapQuality", getScrapQuality()) + .append("unit", getUnit()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("active", getActive()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java new file mode 100644 index 000000000..1bac1e270 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java @@ -0,0 +1,474 @@ +package com.op.mes.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.TreeEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + +/** + * 生产工单对象 pro_order_workorder + * + * @author Open Platform + * @date 2023-07-18 + */ +public class ProOrderWorkorder extends TreeEntity { + private static final long serialVersionUID = 1L; + + /** 工单ID */ + private String workorderId; + + /** 工单编码 */ + @Excel(name = "工单编码") + private String workorderCode; + + /** 工单名称 */ + @Excel(name = "工单名称") + private String workorderName; + + /** 订单id */ + @Excel(name = "订单id") + private String orderId; + + /** 订单编码 */ + @Excel(name = "订单编码") + private String orderCode; + + /** 产品ID */ + @Excel(name = "产品ID") + private String productId; + + /** 产品编号 */ + @Excel(name = "产品编号") + private String productCode; + + /** 产品名称 */ + @Excel(name = "产品名称") + private String productName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String productSpc; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 已生产数量 */ + @Excel(name = "已生产数量") + private Long quantityProduced; + + /** 已拆分数量 */ + @Excel(name = "已拆分数量") + private Long quantitySplit; + + /** 工艺编码 */ + @Excel(name = "工艺编码") + private String routeCode; + + /** 产线编码 */ + @Excel(name = "产线编码") + private String prodLineCode; + + /** 工单生产日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "工单生产日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date productDate; + + // 工单生产日期开始 + private String productDateStart; + + // 工单生产日期结束 + private String productDateEnd; + /** 班次 */ + @Excel(name = "班次") + private String shiftId; + + /** 父工单 */ + @Excel(name = "父工单") + private String parentOrder; + + /** 所有父节点ID */ + @Excel(name = "所有父节点ID") + private String ancestors; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private String attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private String attr4; + + /** 产品类型 */ + @Excel(name = "产品类型") + private String prodType; + + /** 是否为底层节点 1是 0不是 */ + @Excel(name = "是否为底层节点") + private Integer isEnd; + + /** 班次名称(数据库无该字段,需自行查询) */ + private String shiftDesc; + + // 料罐id(湿料计划模块使用) + private Integer bucketId; + + // 料罐编码(湿料计划模块使用) + private String bucketCode; + + // 物料id(湿料计划模块使用) + private Integer materialId; + + // 物料编码(湿料计划模块使用) + private String materialCode; + + // 物料名称(湿料计划模块使用) + private String materialName; + + // 计划日期(湿料计划模块使用) + private Date planTime; + + // 料罐名称(湿料计划模块使用) + private String bucketName; + + public String getBucketName() { + return bucketName; + } + + public void setBucketName(String bucketName) { + this.bucketName = bucketName; + } + + public Integer getBucketId() { + return bucketId; + } + + public void setBucketId(Integer bucketId) { + this.bucketId = bucketId; + } + + public String getBucketCode() { + return bucketCode; + } + + public void setBucketCode(String bucketCode) { + this.bucketCode = bucketCode; + } + + public Integer getMaterialId() { + return materialId; + } + + public void setMaterialId(Integer materialId) { + this.materialId = materialId; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public Date getPlanTime() { + return planTime; + } + + public void setPlanTime(Date planTime) { + this.planTime = planTime; + } + + public String getShiftDesc() { + return shiftDesc; + } + + public void setShiftDesc(String shiftDesc) { + this.shiftDesc = shiftDesc; + } + + public Integer getIsEnd() { + return isEnd; + } + + public void setIsEnd(Integer isEnd) { + this.isEnd = isEnd; + } + + /** 批次号 */ + private List batchCodeList; + + public List getBatchCodeList() { + return batchCodeList; + } + + public void setBatchCodeList(List batchCodeList) { + this.batchCodeList = batchCodeList; + } + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String factoryCode; + + public void setWorkorderId(String workorderId) { + this.workorderId = workorderId; + } + + public String 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 setOrderId(String orderId) { + this.orderId = orderId; + } + + public String getOrderId() { + return orderId; + } + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public String getOrderCode() { + return orderCode; + } + public void setProductId(String productId) { + this.productId = productId; + } + + public String getProductId() { + return productId; + } + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductCode() { + return productCode; + } + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductName() { + return productName; + } + public void setProductSpc(String productSpc) { + this.productSpc = productSpc; + } + + public String getProductSpc() { + return productSpc; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setQuantityProduced(Long quantityProduced) { + this.quantityProduced = quantityProduced; + } + + public Long getQuantityProduced() { + return quantityProduced; + } + public void setQuantitySplit(Long quantitySplit) { + this.quantitySplit = quantitySplit; + } + + public Long getQuantitySplit() { + return quantitySplit; + } + public void setRouteCode(String routeCode) { + this.routeCode = routeCode; + } + + public String getRouteCode() { + return routeCode; + } + public void setProdLineCode(String prodLineCode) { + this.prodLineCode = prodLineCode; + } + + public String getProdLineCode() { + return prodLineCode; + } + public void setProductDate(Date productDate) { + this.productDate = productDate; + } + + public Date getProductDate() { + return productDate; + } + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } + + public String getShiftId() { + return shiftId; + } + public void setParentOrder(String parentOrder) { + this.parentOrder = parentOrder; + } + + public String getParentOrder() { + return parentOrder; + } + public void setAncestors(String ancestors) { + this.ancestors = ancestors; + } + + public String getAncestors() { + return ancestors; + } + 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(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + public void setProdType(String prodType) { + this.prodType = prodType; + } + + public String getProdType() { + return prodType; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + + public String getProductDateStart() { + return productDateStart; + } + + public void setProductDateStart(String productDateStart) { + this.productDateStart = productDateStart; + } + + public String getProductDateEnd() { + return productDateEnd; + } + + public void setProductDateEnd(String productDateEnd) { + this.productDateEnd = productDateEnd; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("workorderId", getWorkorderId()) + .append("workorderCode", getWorkorderCode()) + .append("workorderName", getWorkorderName()) + .append("orderId", getOrderId()) + .append("orderCode", getOrderCode()) + .append("productId", getProductId()) + .append("productCode", getProductCode()) + .append("productName", getProductName()) + .append("productSpc", getProductSpc()) + .append("unit", getUnit()) + .append("quantityProduced", getQuantityProduced()) + .append("quantitySplit", getQuantitySplit()) + .append("routeCode", getRouteCode()) + .append("prodLineCode", getProdLineCode()) + .append("productDate", getProductDate()) + .append("shiftId", getShiftId()) + .append("parentOrder", getParentOrder()) + .append("ancestors", getAncestors()) + .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()) + .append("prodType", getProdType()) + .append("factoryCode", getFactoryCode()) + .append("batchCodeList",getBatchCodeList()) + .append("isEnd",getIsEnd()) + .append("shiftDesc",getShiftDesc()) + .append("bucketId",getBucketId()) + .append("bucketCode",getBucketCode()) + .append("materialId",getMaterialId()) + .append("materialCode",getMaterialCode()) + .append("materialName",getMaterialName()) + .append("planTime",getPlanTime()) + .append("bucketName",getBucketName()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/Product.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/Product.java new file mode 100644 index 000000000..7b2239adc --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/Product.java @@ -0,0 +1,48 @@ +package com.op.mes.domain; + +// 物料实体类 + +public class Product { + // 物料id + private String productId; + // 物料code + private String productCode; + // 物料名称Desc + private String productDesc; + + @Override + public String toString() { + return "Product{" + + "productId=" + productId + + ", productCode='" + productCode + '\'' + + ", productDesc='" + productDesc + '\'' + + '}'; + } + + public String getProductId() { + return productId; + } + + public void setProductId(String productId) { + this.productId = productId; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductDesc() { + return productDesc; + } + + public void setProductDesc(String productDesc) { + this.productDesc = productDesc; + } + + public Product() { + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/SysPost.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/SysPost.java new file mode 100644 index 000000000..90d26b7af --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/SysPost.java @@ -0,0 +1,105 @@ +package com.op.mes.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.annotation.Excel.ColumnType; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 岗位表 sys_post + * + * @author OP + */ +public class SysPost extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 岗位序号 */ + @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) + private Long postId; + + /** 岗位编码 */ + @Excel(name = "岗位编码") + private String postCode; + + /** 岗位名称 */ + @Excel(name = "岗位名称") + private String postName; + + /** 岗位排序 */ + @Excel(name = "岗位排序") + private Integer postSort; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; + + /** 用户是否存在此岗位标识 默认不存在 */ + private boolean flag = false; + + public Long getPostId() { + return postId; + } + + public void setPostId(Long postId) { + this.postId = postId; + } + + @NotBlank(message = "岗位编码不能为空") + @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") + public String getPostCode() { + return postCode; + } + + public void setPostCode(String postCode) { + this.postCode = postCode; + } + + @NotBlank(message = "岗位名称不能为空") + @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") + public String getPostName() { + return postName; + } + + public void setPostName(String postName) { + this.postName = postName; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getPostSort() { + return postSort; + } + + public void setPostSort(Integer postSort) { + this.postSort = postSort; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public boolean isFlag() { + return flag; + } + + public void setFlag(boolean flag) { + this.flag = flag; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("postId", getPostId()) + .append("postCode", getPostCode()).append("postName", getPostName()).append("postSort", getPostSort()) + .append("status", getStatus()).append("createBy", getCreateBy()).append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("remark", getRemark()) + .toString(); + } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/ProEmbryoScrapDto.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/ProEmbryoScrapDto.java new file mode 100644 index 000000000..c36f85ace --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/ProEmbryoScrapDto.java @@ -0,0 +1,6 @@ +package com.op.mes.domain.dto; + +import com.op.mes.domain.ProEmbryoScrap; + +public class ProEmbryoScrapDto extends ProEmbryoScrap { +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/ProEmbryoScrapVo.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/ProEmbryoScrapVo.java new file mode 100644 index 000000000..7f22bcb7d --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/ProEmbryoScrapVo.java @@ -0,0 +1,6 @@ +package com.op.mes.domain.vo; + +import com.op.mes.domain.ProEmbryoScrap; + +public class ProEmbryoScrapVo extends ProEmbryoScrap { +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapDetailMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapDetailMapper.java new file mode 100644 index 000000000..35014acea --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapDetailMapper.java @@ -0,0 +1,75 @@ +package com.op.mes.mapper; + +import java.util.List; + +import com.op.mes.domain.ProEmbryoScrapDetail; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author Open Platform + * @date 2023-08-01 + */ +public interface ProEmbryoScrapDetailMapper { + /** + * 查询报废详情 + * + * @param id 报废详情主键 + * @return 报废详情 + */ + public ProEmbryoScrapDetail selectProEmbryoScrapDetailById(String id); + + /** + * 查询报废详情列表 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 报废详情集合 + */ + public List selectProEmbryoScrapDetailList(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 新增报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + public int insertProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 修改报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + public int updateProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 删除报废详情 + * + * @param id 报废详情主键 + * @return 结果 + */ + public int deleteProEmbryoScrapDetailById(String id); + + /** + * 批量删除报废详情 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProEmbryoScrapDetailByIds(String[] ids); + + /** + * 根据工单号查询一个报废单详情对象 + * @param code + * @return + */ + public ProEmbryoScrapDetail selectScrapDetailByCode(String code); + + /** + * 根据codes删除详情表中内容 + * @param codes + * @return + */ + public int deleteProEmbryoScrapDetails(String[] codes); +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapMapper.java new file mode 100644 index 000000000..3e8e44dbe --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProEmbryoScrapMapper.java @@ -0,0 +1,109 @@ +package com.op.mes.mapper; + +import java.util.List; + +import com.op.mes.domain.ProEmbryoScrap; +import com.op.mes.domain.ProOrderWorkorder; +import com.op.mes.domain.Product; +import com.op.mes.domain.SysPost; + +/** + * 报废Mapper接口 + * + * @author Open Platform + * @date 2023-08-01 + */ +public interface ProEmbryoScrapMapper { + /** + * 查询报废 + * + * @param id 报废主键 + * @return 报废 + */ + public ProEmbryoScrap selectProEmbryoScrapById(String id); + + /** + * 查询报废列表 + * + * @param proEmbryoScrap 报废 + * @return 报废集合 + */ + public List selectProEmbryoScrapList(ProEmbryoScrap proEmbryoScrap); + + /** + * 新增报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + public int insertProEmbryoScrap(ProEmbryoScrap proEmbryoScrap); + + /** + * 修改报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + public int updateProEmbryoScrap(ProEmbryoScrap proEmbryoScrap); + + /** + * 删除报废 + * + * @param id 报废主键 + * @return 结果 + */ + public int deleteProEmbryoScrapById(String id); + + /** + * 批量删除报废 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProEmbryoScrapByIds(String[] ids); + + //查询所有工单 + public List selectAllWorkorder(); + + //自定义查询所有(物料) +// public List selectProEmbryoScrap(); + + //查詢所有物料名称 + public List showAllMaterial(); + //查询工位详细信息 + public List showSysPost(); + + /** + * 根据id查询物料信息 + * @param id + * @return + */ + public Product selectProductById(String id); + + /** + * 根据id查询岗位信息 + * @param id + * @return + */ + public SysPost selectPostById(String id); + + /** + * 根据产品的id查工单信息 + * @param id + * @return + */ + public ProOrderWorkorder selectOrderWorkByProductId(String id); + + + + /** + * 根据报废单的id查询岗位和物料信息 + * @param id + * @return + */ + public ProEmbryoScrap selectPostAndMaterialSelectById(String id); + + + public List selectManyProEmbryScrap(String[] ids); + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapDetailService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapDetailService.java new file mode 100644 index 000000000..eb0c22a0d --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapDetailService.java @@ -0,0 +1,69 @@ +package com.op.mes.service; + +import java.util.List; +import com.op.mes.domain.ProEmbryoScrapDetail; + +/** + * 报废详情Service接口 + * + * @author Open Platform + * @date 2023-08-01 + */ +public interface IProEmbryoScrapDetailService { + /** + * 查询报废详情 + * + * @param id 报废详情主键 + * @return 报废详情 + */ + public ProEmbryoScrapDetail selectProEmbryoScrapDetailById(String id); + + /** + * 查询报废详情列表 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 报废详情集合 + */ + public List selectProEmbryoScrapDetailList(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 新增报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + public int insertProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 修改报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + public int updateProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail); + + /** + * 批量删除报废详情 + * + * @param ids 需要删除的报废详情主键集合 + * @return 结果 + */ + public int deleteProEmbryoScrapDetailByIds(String[] ids); + + /** + * 删除报废详情信息 + * + * @param id 报废详情主键 + * @return 结果 + */ + public int deleteProEmbryoScrapDetailById(String id); + +// /** +// * 根据一个报废单号查询一个报废单明细对象 +// * @param code +// * @return +// */ +// public ProEmbryoScrapDetail selectScrapDetailByCode(String code); + + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapService.java new file mode 100644 index 000000000..59ff6adb2 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IProEmbryoScrapService.java @@ -0,0 +1,92 @@ +package com.op.mes.service; + +import java.util.List; +import com.op.mes.domain.ProEmbryoScrap; +import com.op.mes.domain.ProOrderWorkorder; +import com.op.mes.domain.Product; +import com.op.mes.domain.SysPost; + +/** + * 【请填写功能名称】Service接口 + * + * @author Open Platform + * @date 2023-08-01 + */ +public interface IProEmbryoScrapService { + /** + * 查询报废 + * + * @param id 报废主键 + * @return 报废 + */ + public ProEmbryoScrap selectProEmbryoScrapById(String id); + + /** + * 查询报废列表 + * + * @param proEmbryoScrap 报废 + * @return 报废集合 + */ + public List selectProEmbryoScrapList(ProEmbryoScrap proEmbryoScrap); + + /** + * 新增报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + public int insertProEmbryoScrap(ProEmbryoScrap proEmbryoScrap); + + /** + * 修改报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + public int updateProEmbryoScrap(ProEmbryoScrap proEmbryoScrap); + + /** + * 批量删除 报废 + * + * @param ids 需要删除的报废主键集合 + * @return 结果 + */ + public int deleteProEmbryoScrapByIds(String[] ids); + + /** + * 删除报废信息 + * + * @param id 报废主键 + * @return 结果 + */ + public int deleteProEmbryoScrapById(String id); + + /* + * 查询所有(物料) + * */ +// public List selectProEmbryoScrap(); + + //查詢所有物料名称 + public List showAllMaterial(); + + //查询所有工位信息 + public List showSysPost(); + + //查询所有工单 + public List selectAllWorkOrder(); + + /** + * 根据id查询物料 + * @param id + * @return + */ + public Product selectProductById(String id); + + /** + * 根据id查询工位信息 + * @param id + * @return + */ + public SysPost selectPostById(String id); + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapDetailServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapDetailServiceImpl.java new file mode 100644 index 000000000..0d39d0523 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapDetailServiceImpl.java @@ -0,0 +1,117 @@ +package com.op.mes.service.impl; + +import java.util.List; + + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.mes.domain.ProEmbryoScrap; +import com.op.mes.domain.ProOrderWorkorder; +import com.op.mes.mapper.ProEmbryoScrapMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.mes.mapper.ProEmbryoScrapDetailMapper; +import com.op.mes.domain.ProEmbryoScrapDetail; +import com.op.mes.service.IProEmbryoScrapDetailService; + +/** + * 报废详情Service业务层处理 + * + * @author Open Platform + * @date 2023-08-01 + */ +@Service +public class ProEmbryoScrapDetailServiceImpl implements IProEmbryoScrapDetailService { + @Autowired + private ProEmbryoScrapDetailMapper proEmbryoScrapDetailMapper; + @Autowired ProEmbryoScrapMapper proEmbryoScrapMapper; + + + + /** + * 查询报废详情 + * + * @param id 报废详情主键 + * @return 报废详情 + */ + @Override + @DS("#header.poolName") + public ProEmbryoScrapDetail selectProEmbryoScrapDetailById(String id) { + return proEmbryoScrapDetailMapper.selectProEmbryoScrapDetailById(id); + } + + /** + * 查询报废详情列表 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 报废详情 + */ + @Override + @DS("#header.poolName") + public List selectProEmbryoScrapDetailList(ProEmbryoScrapDetail proEmbryoScrapDetail) { + + return proEmbryoScrapDetailMapper.selectProEmbryoScrapDetailList(proEmbryoScrapDetail); + } + + /** + * 新增报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail) { + + proEmbryoScrapDetail.setCreateTime(DateUtils.getNowDate()); + return proEmbryoScrapDetailMapper.insertProEmbryoScrapDetail(proEmbryoScrapDetail); + } + + /** + * 修改报废详情 + * + * @param proEmbryoScrapDetail 报废详情 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateProEmbryoScrapDetail(ProEmbryoScrapDetail proEmbryoScrapDetail) { + proEmbryoScrapDetail.setUpdateTime(DateUtils.getNowDate()); + return proEmbryoScrapDetailMapper.updateProEmbryoScrapDetail(proEmbryoScrapDetail); + } + + /** + * 批量删除报废详情 + * + * @param ids 需要删除的报废详情主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteProEmbryoScrapDetailByIds(String[] ids) { + return proEmbryoScrapDetailMapper.deleteProEmbryoScrapDetailByIds(ids); + } + + /** + * 删除报废详情信息 + * + * @param id 报废详情主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteProEmbryoScrapDetailById(String id) { + return proEmbryoScrapDetailMapper.deleteProEmbryoScrapDetailById(id); + } + +// /** +// * 根据一个报废单号查询一个报废单明细对象 +// * @param code +// * @return +// */ +// @Override +// public ProEmbryoScrapDetail selectScrapDetailByCode(String code) { +// return proEmbryoScrapDetailMapper.selectScrapDetailByCode(code); +// } +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapServiceImpl.java new file mode 100644 index 000000000..661e5e8c5 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProEmbryoScrapServiceImpl.java @@ -0,0 +1,223 @@ +package com.op.mes.service.impl; + +import java.util.ArrayList; +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.context.SecurityContextHolder; +import com.op.common.core.exception.ServiceException; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.mes.domain.*; +import com.op.mes.mapper.ProEmbryoScrapDetailMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.mes.mapper.ProEmbryoScrapMapper; +import com.op.mes.service.IProEmbryoScrapService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import sun.plugin.javascript.navig.Array; + +/** + * 报废Service业务层处理 + * + * @author Open Platform + * @date 2023-08-01 + */ +@Service +public class ProEmbryoScrapServiceImpl implements IProEmbryoScrapService { + @Autowired + private ProEmbryoScrapMapper proEmbryoScrapMapper; + @Autowired + private ProEmbryoScrapDetailMapper proEmbryoScrapDetailMapper; + + /** + * 查询报废 + * + * @param id 报废主键 + * @return 报废 + */ + @Override + @DS("#header.poolName") + public ProEmbryoScrap selectProEmbryoScrapById(String id) { +// ProEmbryoScrap proEmbryoScrap = proEmbryoScrapMapper.selectPostAndMaterialSelectById(id); + + return proEmbryoScrapMapper.selectProEmbryoScrapById(id); + //proEmbryoScrap; + } + + /** + * 查询报废列表 + * + * @param proEmbryoScrap 报废 + * @return 报废 + */ + @Override + @DS("#header.poolName") + public List selectProEmbryoScrapList(ProEmbryoScrap proEmbryoScrap) { + return proEmbryoScrapMapper.selectProEmbryoScrapList(proEmbryoScrap); + } + + /** + * 新增报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + @Override + @DS("#header.poolName") + @Transactional(rollbackFor = Exception.class) + public int insertProEmbryoScrap(ProEmbryoScrap proEmbryoScrap) { + proEmbryoScrap.setId(IdUtils.fastSimpleUUID()); + proEmbryoScrap.setCreateBy(SecurityContextHolder.getUserName()); + proEmbryoScrap.setUpdateBy(SecurityContextHolder.getUserName()); + proEmbryoScrap.setUpdateTime(DateUtils.getNowDate()); + proEmbryoScrap.setCreateTime(DateUtils.getNowDate()); + //报废表添加数据-添加物料信息 + Product product = proEmbryoScrapMapper.selectProductById(proEmbryoScrap.getMaterialId()); + proEmbryoScrap.setMaterialName(product.getProductDesc()); + proEmbryoScrap.setMaterialCode(product.getProductCode()); + /** + * 报废表添加数据-添加工单信息 + */ + SysPost sysPost = proEmbryoScrapMapper.selectPostById(proEmbryoScrap.getWorkCellId()); + proEmbryoScrap.setWorkCellCode(sysPost.getPostCode()); + proEmbryoScrap.setWorkCellName(sysPost.getPostName()); + proEmbryoScrapMapper.insertProEmbryoScrap(proEmbryoScrap); + //todo 向详情表添加一条数据 + ProEmbryoScrapDetail proEmbryoScrapDetail = new ProEmbryoScrapDetail(); + proEmbryoScrapDetail.setId(IdUtils.fastSimpleUUID()); + proEmbryoScrapDetail.setScrapCode(proEmbryoScrap.getScrapCode()); + proEmbryoScrapDetail.setMaterialId(proEmbryoScrap.getMaterialId()); + proEmbryoScrapDetail.setMaterialCode(proEmbryoScrap.getMaterialCode()); + proEmbryoScrapDetail.setMaterialName(proEmbryoScrap.getMaterialName()); + // todo 根据产品的id查工单的信息 + ProOrderWorkorder proOrderWorkorder = proEmbryoScrapMapper.selectOrderWorkByProductId(proEmbryoScrap.getMaterialId()); + if (ObjectUtils.isEmpty(proOrderWorkorder)) { + throw new ServiceException("该物料下没有对应的工单!"); + } + proEmbryoScrapDetail.setWorkorderId(proOrderWorkorder.getWorkorderId()); + proEmbryoScrapDetail.setWorkorderCode(proOrderWorkorder.getWorkorderCode()); + proEmbryoScrapDetail.setScrapQuality(proEmbryoScrap.getScrapQuality()); + proEmbryoScrapDetail.setUnit(proEmbryoScrap.getUnit()); + proEmbryoScrapDetail.setStatus(proEmbryoScrap.getStatus()); + proEmbryoScrapDetail.setCreateTime(proEmbryoScrap.getCreateTime()); + proEmbryoScrapDetail.setUpdateTime(proEmbryoScrap.getUpdateTime()); + proEmbryoScrapDetail.setCreateBy(proEmbryoScrap.getCreateBy()); + proEmbryoScrapDetail.setUpdateBy(proEmbryoScrap.getUpdateBy()); + // todo 向详情表中添加 + return proEmbryoScrapDetailMapper.insertProEmbryoScrapDetail(proEmbryoScrapDetail); + } + + /** + * 修改报废 + * + * @param proEmbryoScrap 报废 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateProEmbryoScrap(ProEmbryoScrap proEmbryoScrap) { + + ProEmbryoScrapDetail proEmbryoScrapDetail = proEmbryoScrapDetailMapper.selectScrapDetailByCode(proEmbryoScrap.getScrapCode()); + if (!ObjectUtils.isEmpty(proEmbryoScrapDetail)) { + proEmbryoScrapDetail.setScrapCode(proEmbryoScrap.getScrapCode()); + proEmbryoScrapDetail.setMaterialId(proEmbryoScrap.getMaterialId()); + proEmbryoScrapDetail.setMaterialCode(proEmbryoScrap.getMaterialCode()); + proEmbryoScrapDetail.setMaterialName(proEmbryoScrap.getMaterialName()); + proEmbryoScrapDetail.setScrapQuality(proEmbryoScrap.getScrapQuality()); + proEmbryoScrapDetail.setStatus(proEmbryoScrap.getStatus()); + proEmbryoScrapDetail.setUnit(proEmbryoScrap.getUnit()); + proEmbryoScrap.setUpdateTime(DateUtils.getNowDate()); + proEmbryoScrapDetail.setUpdateTime(DateUtils.getNowDate()); + } + proEmbryoScrapMapper.updateProEmbryoScrap(proEmbryoScrap); + + return proEmbryoScrapDetailMapper.updateProEmbryoScrapDetail(proEmbryoScrapDetail); + } + + /** + * 批量删除报废 + * + * @param ids 需要删除的报废主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteProEmbryoScrapByIds(String[] ids) { + ArrayList strings = new ArrayList<>(); + + List proEmbryoScraps = proEmbryoScrapMapper.selectManyProEmbryScrap(ids); + for (ProEmbryoScrap proEmbryoScrap : proEmbryoScraps) { + strings.add(proEmbryoScrap.getScrapCode()); + } + String[] codes= strings.toArray(new String[0]); + proEmbryoScrapDetailMapper.deleteProEmbryoScrapDetails(codes); + return proEmbryoScrapMapper.deleteProEmbryoScrapByIds(ids); + } + + /** + * 删除报废信息 + * + * @param id 报废主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteProEmbryoScrapById(String id) { + return proEmbryoScrapMapper.deleteProEmbryoScrapById(id); + } + +// @Override +// public List selectProEmbryoScrap() { +// return proEmbryoScrapMapper.selectProEmbryoScrap(); +// } + + //查询所有物料名称 + @Override + @DS("#header.poolName") + public List showAllMaterial() { + return proEmbryoScrapMapper.showAllMaterial(); + } + + //查询工位信息 + @Override + @DS("#header.poolName") + public List showSysPost() { + return proEmbryoScrapMapper.showSysPost(); + } + + /** + * 查询工单信息 + * @return + */ + @Override + @DS("#header.poolName") + public List selectAllWorkOrder() { + return proEmbryoScrapMapper.selectAllWorkorder(); + } + + /** + * 根据Id查询物料信息 + * @param id + * @return + */ + @Override + @DS("#header.poolName") + public Product selectProductById(String id) { + return proEmbryoScrapMapper.selectProductById(id); + } + + /** + * 根据id查询工位信息 + * @param id + * @return + */ + @Override + @DS("#header.poolName") + public SysPost selectPostById(String id) { + return proEmbryoScrapMapper.selectPostById(id); + } + + +} diff --git a/op-modules/op-mes/src/main/resources/bootstrap.yml b/op-modules/op-mes/src/main/resources/bootstrap.yml index 44e0b2783..40cd81a8c 100644 --- a/op-modules/op-mes/src/main/resources/bootstrap.yml +++ b/op-modules/op-mes/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: chj # 服务注册地址 server-addr: 140.249.53.142:8848 config: namespace: lanju-op - group: zxl + group: chj #命名空间 #group: local # 配置中心地址 diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapDetailMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapDetailMapper.xml new file mode 100644 index 000000000..ca8ea9dc0 --- /dev/null +++ b/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapDetailMapper.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, scrap_code, workorder_id, workorder_code, material__id, material_code, material_name, scrap_quality, unit, status, remark, attr1, attr2, attr3, attr4, active, create_by, create_time, update_by, update_time from pro_embryo_scrap_detail + + + + + + + + + + insert into pro_embryo_scrap_detail + + id, + scrap_code, + workorder_id, + workorder_code, + material__id, + material_code, + material_name, + scrap_quality, + unit, + status, + remark, + attr1, + attr2, + attr3, + attr4, + active, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{scrapCode}, + #{workorderId}, + #{workorderCode}, + #{materialId}, + #{materialCode}, + #{materialName}, + #{scrapQuality}, + #{unit}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{active}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update pro_embryo_scrap_detail + + scrap_code = #{scrapCode}, + workorder_id = #{workorderId}, + workorder_code = #{workorderCode}, + material__id = #{materialId}, + material_code = #{materialCode}, + material_name = #{materialName}, + scrap_quality = #{scrapQuality}, + unit = #{unit}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + active = #{active}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from pro_embryo_scrap_detail where id = #{id} + + + + delete from pro_embryo_scrap_detail where id in + + #{id} + + + + delete from pro_embryo_scrap_detail where scrap_code in + + #{id} + + + \ No newline at end of file diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapMapper.xml new file mode 100644 index 000000000..9fd8096d5 --- /dev/null +++ b/op-modules/op-mes/src/main/resources/mapper/mes/ProEmbryoScrapMapper.xml @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, scrap_code, material__id, material_code, material_name, + work_cell_id, work_cell_code, work_cell_name, scrap_quality, + unit, status, remark, attr1, attr2, attr3, attr4, create_by, + create_time, update_by, update_time, active from pro_embryo_scrap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into pro_embryo_scrap + + id, + scrap_code, + material__id, + material_code, + material_name, + work_cell_id, + work_cell_code, + work_cell_name, + scrap_quality, + unit, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + active, + + + #{id}, + #{scrapCode}, + #{materialId}, + #{materialCode}, + #{materialName}, + #{workCellId}, + #{workCellCode}, + #{workCellName}, + #{scrapQuality}, + #{unit}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{active}, + + + + + update pro_embryo_scrap + + scrap_code = #{scrapCode}, + material__id = #{materialId}, + material_code = #{materialCode}, + material_name = #{materialName}, + work_cell_id = #{workCellId}, + work_cell_code = #{workCellCode}, + work_cell_name = #{workCellName}, + scrap_quality = #{scrapQuality}, + unit = #{unit}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + active = #{active}, + + where id = #{id} + + + + delete from pro_embryo_scrap where id = #{id} + + + + delete from pro_embryo_scrap where id in + + #{id} + + + \ No newline at end of file