diff --git a/ktg-mes/src/main/java/com/ktg/mes/dv/controller/DvCheckPlanController.java b/ktg-mes/src/main/java/com/ktg/mes/dv/controller/DvCheckPlanController.java new file mode 100644 index 0000000..ce94d81 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/dv/controller/DvCheckPlanController.java @@ -0,0 +1,113 @@ +package com.ktg.mes.dv.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ktg.common.constant.UserConstants; +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.dv.domain.DvCheckPlan; +import com.ktg.mes.dv.service.IDvCheckPlanService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 设备点检计划头Controller + * + * @author yinjinlu + * @date 2022-06-16 + */ +@RestController +@RequestMapping("/mes/dv/checkplan") +public class DvCheckPlanController extends BaseController +{ + @Autowired + private IDvCheckPlanService dvCheckPlanService; + + /** + * 查询设备点检计划头列表 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:list')") + @GetMapping("/list") + public TableDataInfo list(DvCheckPlan dvCheckPlan) + { + startPage(); + List list = dvCheckPlanService.selectDvCheckPlanList(dvCheckPlan); + return getDataTable(list); + } + + /** + * 导出设备点检计划头列表 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:export')") + @Log(title = "设备点检计划头", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckPlan dvCheckPlan) + { + List list = dvCheckPlanService.selectDvCheckPlanList(dvCheckPlan); + ExcelUtil util = new ExcelUtil(DvCheckPlan.class); + util.exportExcel(response, list, "设备点检计划头数据"); + } + + /** + * 获取设备点检计划头详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:query')") + @GetMapping(value = "/{planId}") + public AjaxResult getInfo(@PathVariable("planId") Long planId) + { + return AjaxResult.success(dvCheckPlanService.selectDvCheckPlanByPlanId(planId)); + } + + /** + * 新增设备点检计划头 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:add')") + @Log(title = "设备点检计划头", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody DvCheckPlan dvCheckPlan) + { + return toAjax(dvCheckPlanService.insertDvCheckPlan(dvCheckPlan)); + } + + /** + * 修改设备点检计划头 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:edit')") + @Log(title = "设备点检计划头", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody DvCheckPlan dvCheckPlan) + { + return toAjax(dvCheckPlanService.updateDvCheckPlan(dvCheckPlan)); + } + + /** + * 删除设备点检计划头 + */ + @PreAuthorize("@ss.hasPermi('mes:dv:checkplan:remove')") + @Log(title = "设备点检计划头", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public AjaxResult remove(@PathVariable Long[] planIds) + { + for (Long planId:planIds + ) { + DvCheckPlan plan = dvCheckPlanService.selectDvCheckPlanByPlanId(planId); + if(UserConstants.ORDER_STATUS_PREPARE.equals(plan.getStatus())){ + return AjaxResult.error("只能删除草稿状态单据!"); + } + } + return toAjax(dvCheckPlanService.deleteDvCheckPlanByPlanIds(planIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/dv/domain/DvCheckPlan.java b/ktg-mes/src/main/java/com/ktg/mes/dv/domain/DvCheckPlan.java new file mode 100644 index 0000000..0348d00 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/dv/domain/DvCheckPlan.java @@ -0,0 +1,196 @@ +package com.ktg.mes.dv.domain; + +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; + +/** + * 设备点检计划头对象 dv_check_plan + * + * @author yinjinlu + * @date 2022-06-16 + */ +public class DvCheckPlan extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long planId; + + /** 计划编码 */ + @Excel(name = "计划编码") + private String planCode; + + /** 计划名称 */ + @Excel(name = "计划名称") + private String planName; + + /** 开始日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date startDate; + + /** 结束日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date endDate; + + /** 频率 */ + @Excel(name = "频率") + private String cycleType; + + /** 次数 */ + @Excel(name = "次数") + private Long cycleCount; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setPlanCode(String planCode) + { + this.planCode = planCode; + } + + public String getPlanCode() + { + return planCode; + } + public void setPlanName(String planName) + { + this.planName = planName; + } + + public String getPlanName() + { + return planName; + } + public void setStartDate(Date startDate) + { + this.startDate = startDate; + } + + public Date getStartDate() + { + return startDate; + } + public void setEndDate(Date endDate) + { + this.endDate = endDate; + } + + public Date getEndDate() + { + return endDate; + } + public void setCycleType(String cycleType) + { + this.cycleType = cycleType; + } + + public String getCycleType() + { + return cycleType; + } + public void setCycleCount(Long cycleCount) + { + this.cycleCount = cycleCount; + } + + public Long getCycleCount() + { + return cycleCount; + } + 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; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("planId", getPlanId()) + .append("planCode", getPlanCode()) + .append("planName", getPlanName()) + .append("startDate", getStartDate()) + .append("endDate", getEndDate()) + .append("cycleType", getCycleType()) + .append("cycleCount", getCycleCount()) + .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(); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/dv/mapper/DvCheckPlanMapper.java b/ktg-mes/src/main/java/com/ktg/mes/dv/mapper/DvCheckPlanMapper.java new file mode 100644 index 0000000..cf15d22 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/dv/mapper/DvCheckPlanMapper.java @@ -0,0 +1,63 @@ +package com.ktg.mes.dv.mapper; + +import java.util.List; +import com.ktg.mes.dv.domain.DvCheckPlan; + +/** + * 设备点检计划头Mapper接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface DvCheckPlanMapper +{ + /** + * 查询设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 设备点检计划头 + */ + public DvCheckPlan selectDvCheckPlanByPlanId(Long planId); + + /** + * 查询设备点检计划头列表 + * + * @param dvCheckPlan 设备点检计划头 + * @return 设备点检计划头集合 + */ + public List selectDvCheckPlanList(DvCheckPlan dvCheckPlan); + + public DvCheckPlan checkPlanCodeUnique(DvCheckPlan dvCheckPlan); + + /** + * 新增设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int insertDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 修改设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int updateDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 删除设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanId(Long planId); + + /** + * 批量删除设备点检计划头 + * + * @param planIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanIds(Long[] planIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/dv/service/IDvCheckPlanService.java b/ktg-mes/src/main/java/com/ktg/mes/dv/service/IDvCheckPlanService.java new file mode 100644 index 0000000..daad349 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/dv/service/IDvCheckPlanService.java @@ -0,0 +1,68 @@ +package com.ktg.mes.dv.service; + +import java.util.List; +import com.ktg.mes.dv.domain.DvCheckPlan; + +/** + * 设备点检计划头Service接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface IDvCheckPlanService +{ + /** + * 查询设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 设备点检计划头 + */ + public DvCheckPlan selectDvCheckPlanByPlanId(Long planId); + + /** + * 查询设备点检计划头列表 + * + * @param dvCheckPlan 设备点检计划头 + * @return 设备点检计划头集合 + */ + public List selectDvCheckPlanList(DvCheckPlan dvCheckPlan); + + /** + * 检查计划编码是否唯一 + * @param dvCheckPlan + * @return + */ + public String checkPlanCodeUnique(DvCheckPlan dvCheckPlan); + + /** + * 新增设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int insertDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 修改设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int updateDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 批量删除设备点检计划头 + * + * @param planIds 需要删除的设备点检计划头主键集合 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanIds(Long[] planIds); + + /** + * 删除设备点检计划头信息 + * + * @param planId 设备点检计划头主键 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanId(Long planId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index bcd756c..031d912 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -136,6 +136,10 @@ public class ProWorkorderController extends BaseController { for (Long id:workorderIds ) { + ProWorkorder workorder = proWorkorderService.selectProWorkorderByWorkorderId(id); + if(!UserConstants.ORDER_STATUS_PREPARE.equals(workorder.getStatus())){ + return AjaxResult.error("只能删除草稿状态单据!"); + } removeBomLine(id); } return toAjax(proWorkorderService.deleteProWorkorderByWorkorderIds(workorderIds)); diff --git a/ktg-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml b/ktg-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml new file mode 100644 index 0000000..905f288 --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select plan_id, plan_code, plan_name, start_date, end_date, cycle_type, cycle_count,status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_plan + + + + + + + + + + insert into dv_check_plan + + plan_code, + plan_name, + start_date, + end_date, + cycle_type, + cycle_count, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planCode}, + #{planName}, + #{startDate}, + #{endDate}, + #{cycleType}, + #{cycleCount}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_plan + + plan_code = #{planCode}, + plan_name = #{planName}, + start_date = #{startDate}, + end_date = #{endDate}, + cycle_type = #{cycleType}, + cycle_count = #{cycleCount}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where plan_id = #{planId} + + + + delete from dv_check_plan where plan_id = #{planId} + + + + delete from dv_check_plan where plan_id in + + #{planId} + + + \ No newline at end of file