diff --git a/os-mes/src/main/java/com/os/mes/base/controller/BaseProcessInfoController.java b/os-mes/src/main/java/com/os/mes/base/controller/BaseProcessInfoController.java new file mode 100644 index 0000000..aacb8c6 --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/base/controller/BaseProcessInfoController.java @@ -0,0 +1,100 @@ +package com.os.mes.base.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.os.common.annotation.Log; +import com.os.common.core.controller.BaseController; +import com.os.common.core.domain.AjaxResult; +import com.os.common.enums.BusinessType; +import com.os.mes.base.domain.BaseProcessInfo; +import com.os.mes.base.service.IBaseProcessInfoService; +import com.os.common.utils.poi.ExcelUtil; +import com.os.common.core.page.TableDataInfo; + +/** + * 工序信息Controller + * + * @author Yinq + * @date 2024-05-23 + */ +@RestController +@RequestMapping("/mes/base/processInfo") +public class BaseProcessInfoController extends BaseController { + @Autowired + private IBaseProcessInfoService baseProcessInfoService; + + /** + * 查询工序信息列表 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:list')") + @GetMapping("/list") + public TableDataInfo list(BaseProcessInfo baseProcessInfo) { + startPage(); + List list = baseProcessInfoService.selectBaseProcessInfoList(baseProcessInfo); + return getDataTable(list); + } + + /** + * 导出工序信息列表 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:export')") + @Log(title = "工序信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BaseProcessInfo baseProcessInfo) { + List list = baseProcessInfoService.selectBaseProcessInfoList(baseProcessInfo); + ExcelUtil util = new ExcelUtil(BaseProcessInfo.class); + util.exportExcel(response, list, "工序信息数据"); + } + + /** + * 获取工序信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:query')") + @GetMapping(value = "/{objId}") + public AjaxResult getInfo(@PathVariable("objId") Long objId) { + return success(baseProcessInfoService.selectBaseProcessInfoByObjId(objId)); + } + + /** + * 新增工序信息 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:add')") + @Log(title = "工序信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BaseProcessInfo baseProcessInfo) { + baseProcessInfo.setCreateBy(getUsername()); + return toAjax(baseProcessInfoService.insertBaseProcessInfo(baseProcessInfo)); + } + + /** + * 修改工序信息 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:edit')") + @Log(title = "工序信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BaseProcessInfo baseProcessInfo) { + baseProcessInfo.setUpdateBy(getUsername()); + return toAjax(baseProcessInfoService.updateBaseProcessInfo(baseProcessInfo)); + } + + /** + * 删除工序信息 + */ + @PreAuthorize("@ss.hasPermi('mes/base:processInfo:remove')") + @Log(title = "工序信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{objIds}") + public AjaxResult remove(@PathVariable Long[] objIds) { + return toAjax(baseProcessInfoService.deleteBaseProcessInfoByObjIds(objIds)); + } +} diff --git a/os-mes/src/main/java/com/os/mes/base/domain/BaseProcessInfo.java b/os-mes/src/main/java/com/os/mes/base/domain/BaseProcessInfo.java new file mode 100644 index 0000000..ff0784d --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/base/domain/BaseProcessInfo.java @@ -0,0 +1,190 @@ +package com.os.mes.base.domain; + +import java.math.BigDecimal; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.os.common.annotation.Excel; +import com.os.common.core.domain.BaseEntity; + +/** + * 工序信息对象 base_process_info + * + * @author Yinq + * @date 2024-05-23 + */ +public class BaseProcessInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long objId; + + /** + * 工序编号 + */ + @Excel(name = "工序编号") + private String processCode; + + /** + * 工序名称 + */ + @Excel(name = "工序名称") + private String processName; + + /** + * 工序类型(1生产工序) + */ + @Excel(name = "工序类型", readConverterExp = "1=生产工序") + private String processType; + + /** + * 产线编号 + */ + @Excel(name = "产线编号") + private String productLineCode; + + /** + * 产线名称 + */ + @Excel(name = "产线名称") + private String productLineName; + + /** + * 工位编号 + */ + @Excel(name = "工位编号") + private String stationCodes; + + /** + * 工位名称 + */ + @Excel(name = "工位名称") + private String stationNames; + + /** + * 日产能 + */ + @Excel(name = "日产能") + private BigDecimal capacityDay; + + /** + * 月产能 + */ + @Excel(name = "月产能") + private BigDecimal capacityMonth; + + /** + * 启用标识 + */ + @Excel(name = "启用标识") + private String isFlag; + + public String getProductLineName() { + return productLineName; + } + + public void setProductLineName(String productLineName) { + this.productLineName = productLineName; + } + + public String getStationNames() { + return stationNames; + } + + public void setStationNames(String stationNames) { + this.stationNames = stationNames; + } + + public void setObjId(Long objId) { + this.objId = objId; + } + + public Long getObjId() { + return objId; + } + + public void setProcessCode(String processCode) { + this.processCode = processCode; + } + + public String getProcessCode() { + return processCode; + } + + public void setProcessName(String processName) { + this.processName = processName; + } + + public String getProcessName() { + return processName; + } + + public void setProcessType(String processType) { + this.processType = processType; + } + + public String getProcessType() { + return processType; + } + + public void setProductLineCode(String productLineCode) { + this.productLineCode = productLineCode; + } + + public String getProductLineCode() { + return productLineCode; + } + + public void setStationCodes(String stationCodes) { + this.stationCodes = stationCodes; + } + + public String getStationCodes() { + return stationCodes; + } + + public void setCapacityDay(BigDecimal capacityDay) { + this.capacityDay = capacityDay; + } + + public BigDecimal getCapacityDay() { + return capacityDay; + } + + public void setCapacityMonth(BigDecimal capacityMonth) { + this.capacityMonth = capacityMonth; + } + + public BigDecimal getCapacityMonth() { + return capacityMonth; + } + + public void setIsFlag(String isFlag) { + this.isFlag = isFlag; + } + + public String getIsFlag() { + return isFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("objId", getObjId()) + .append("processCode", getProcessCode()) + .append("processName", getProcessName()) + .append("processType", getProcessType()) + .append("productLineCode", getProductLineCode()) + .append("stationCodes", getStationCodes()) + .append("capacityDay", getCapacityDay()) + .append("capacityMonth", getCapacityMonth()) + .append("isFlag", getIsFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/os-mes/src/main/java/com/os/mes/base/domain/BaseStaffInfo.java b/os-mes/src/main/java/com/os/mes/base/domain/BaseStaffInfo.java index bd5a1c2..325ce89 100644 --- a/os-mes/src/main/java/com/os/mes/base/domain/BaseStaffInfo.java +++ b/os-mes/src/main/java/com/os/mes/base/domain/BaseStaffInfo.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.os.common.annotation.Excel; import com.os.common.core.domain.BaseEntity; +import java.math.BigDecimal; + /** * 员工信息对象 base_staff_info * @@ -78,6 +80,20 @@ public class BaseStaffInfo extends BaseEntity { */ private String delFlag; + /** + * 工资系数 + */ + @Excel(name = "工资系数") + private BigDecimal wageCoefficient; + + public BigDecimal getWageCoefficient() { + return wageCoefficient; + } + + public void setWageCoefficient(BigDecimal wageCoefficient) { + this.wageCoefficient = wageCoefficient; + } + public String getTeamName() { return teamName; } diff --git a/os-mes/src/main/java/com/os/mes/base/mapper/BaseProcessInfoMapper.java b/os-mes/src/main/java/com/os/mes/base/mapper/BaseProcessInfoMapper.java new file mode 100644 index 0000000..bf9aaa4 --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/base/mapper/BaseProcessInfoMapper.java @@ -0,0 +1,61 @@ +package com.os.mes.base.mapper; + +import java.util.List; +import com.os.mes.base.domain.BaseProcessInfo; + +/** + * 工序信息Mapper接口 + * + * @author Yinq + * @date 2024-05-23 + */ +public interface BaseProcessInfoMapper +{ + /** + * 查询工序信息 + * + * @param objId 工序信息主键 + * @return 工序信息 + */ + public BaseProcessInfo selectBaseProcessInfoByObjId(Long objId); + + /** + * 查询工序信息列表 + * + * @param baseProcessInfo 工序信息 + * @return 工序信息集合 + */ + public List selectBaseProcessInfoList(BaseProcessInfo baseProcessInfo); + + /** + * 新增工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + public int insertBaseProcessInfo(BaseProcessInfo baseProcessInfo); + + /** + * 修改工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + public int updateBaseProcessInfo(BaseProcessInfo baseProcessInfo); + + /** + * 删除工序信息 + * + * @param objId 工序信息主键 + * @return 结果 + */ + public int deleteBaseProcessInfoByObjId(Long objId); + + /** + * 批量删除工序信息 + * + * @param objIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBaseProcessInfoByObjIds(Long[] objIds); +} diff --git a/os-mes/src/main/java/com/os/mes/base/service/IBaseProcessInfoService.java b/os-mes/src/main/java/com/os/mes/base/service/IBaseProcessInfoService.java new file mode 100644 index 0000000..2cdb000 --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/base/service/IBaseProcessInfoService.java @@ -0,0 +1,61 @@ +package com.os.mes.base.service; + +import java.util.List; +import com.os.mes.base.domain.BaseProcessInfo; + +/** + * 工序信息Service接口 + * + * @author Yinq + * @date 2024-05-23 + */ +public interface IBaseProcessInfoService +{ + /** + * 查询工序信息 + * + * @param objId 工序信息主键 + * @return 工序信息 + */ + public BaseProcessInfo selectBaseProcessInfoByObjId(Long objId); + + /** + * 查询工序信息列表 + * + * @param baseProcessInfo 工序信息 + * @return 工序信息集合 + */ + public List selectBaseProcessInfoList(BaseProcessInfo baseProcessInfo); + + /** + * 新增工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + public int insertBaseProcessInfo(BaseProcessInfo baseProcessInfo); + + /** + * 修改工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + public int updateBaseProcessInfo(BaseProcessInfo baseProcessInfo); + + /** + * 批量删除工序信息 + * + * @param objIds 需要删除的工序信息主键集合 + * @return 结果 + */ + public int deleteBaseProcessInfoByObjIds(Long[] objIds); + + /** + * 删除工序信息信息 + * + * @param objId 工序信息主键 + * @return 结果 + */ + public int deleteBaseProcessInfoByObjId(Long objId); +} diff --git a/os-mes/src/main/java/com/os/mes/base/service/impl/BaseProcessInfoServiceImpl.java b/os-mes/src/main/java/com/os/mes/base/service/impl/BaseProcessInfoServiceImpl.java new file mode 100644 index 0000000..0faab61 --- /dev/null +++ b/os-mes/src/main/java/com/os/mes/base/service/impl/BaseProcessInfoServiceImpl.java @@ -0,0 +1,121 @@ +package com.os.mes.base.service.impl; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import com.os.common.utils.DateUtils; +import com.os.common.utils.StringUtils; +import com.os.mes.base.domain.BaseProductLine; +import com.os.mes.base.mapper.BaseProductLineMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.os.mes.base.mapper.BaseProcessInfoMapper; +import com.os.mes.base.domain.BaseProcessInfo; +import com.os.mes.base.service.IBaseProcessInfoService; + +/** + * 工序信息Service业务层处理 + * + * @author Yinq + * @date 2024-05-23 + */ +@Service +public class BaseProcessInfoServiceImpl implements IBaseProcessInfoService { + @Autowired + private BaseProcessInfoMapper baseProcessInfoMapper; + + @Autowired + private BaseProductLineMapper baseProductLineMapper; + + /** + * 查询工序信息 + * + * @param objId 工序信息主键 + * @return 工序信息 + */ + @Override + public BaseProcessInfo selectBaseProcessInfoByObjId(Long objId) { + return baseProcessInfoMapper.selectBaseProcessInfoByObjId(objId); + } + + /** + * 查询工序信息列表 + * + * @param baseProcessInfo 工序信息 + * @return 工序信息 + */ + @Override + public List selectBaseProcessInfoList(BaseProcessInfo baseProcessInfo) { + List processList = baseProcessInfoMapper.selectBaseProcessInfoList(baseProcessInfo); + BaseProductLine productLine = new BaseProductLine(); + productLine.setProductLineType("2"); + List stationList = baseProductLineMapper.selectBaseProductLineList(productLine); + for (BaseProcessInfo processInfo : processList) { + String stationCodes = processInfo.getStationCodes(); + if (StringUtils.isEmpty(stationCodes)) { + continue; + } + String[] stationCodeList = stationCodes.split(","); + for (String stationCode : stationCodeList) { + List baseProductLines = stationList.stream().filter(e -> Objects.equals(e.getProductLineCode(), stationCode)).collect(Collectors.toList()); + if (baseProductLines.size() > 0) { + String productLineName = baseProductLines.get(0).getProductLineName(); + if (StringUtils.isEmpty(processInfo.getStationNames())) { + processInfo.setStationNames(productLineName); + } else { + processInfo.setStationNames(processInfo.getStationNames() + "," + productLineName); + } + } + } + } + return processList; + } + + /** + * 新增工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + @Override + public int insertBaseProcessInfo(BaseProcessInfo baseProcessInfo) { + baseProcessInfo.setCreateTime(DateUtils.getNowDate()); + return baseProcessInfoMapper.insertBaseProcessInfo(baseProcessInfo); + } + + /** + * 修改工序信息 + * + * @param baseProcessInfo 工序信息 + * @return 结果 + */ + @Override + public int updateBaseProcessInfo(BaseProcessInfo baseProcessInfo) { + baseProcessInfo.setUpdateTime(DateUtils.getNowDate()); + return baseProcessInfoMapper.updateBaseProcessInfo(baseProcessInfo); + } + + /** + * 批量删除工序信息 + * + * @param objIds 需要删除的工序信息主键 + * @return 结果 + */ + @Override + public int deleteBaseProcessInfoByObjIds(Long[] objIds) { + return baseProcessInfoMapper.deleteBaseProcessInfoByObjIds(objIds); + } + + /** + * 删除工序信息信息 + * + * @param objId 工序信息主键 + * @return 结果 + */ + @Override + public int deleteBaseProcessInfoByObjId(Long objId) { + return baseProcessInfoMapper.deleteBaseProcessInfoByObjId(objId); + } +} diff --git a/os-mes/src/main/java/com/os/mes/base/service/impl/BaseStaffInfoServiceImpl.java b/os-mes/src/main/java/com/os/mes/base/service/impl/BaseStaffInfoServiceImpl.java index c854b54..d7758f0 100644 --- a/os-mes/src/main/java/com/os/mes/base/service/impl/BaseStaffInfoServiceImpl.java +++ b/os-mes/src/main/java/com/os/mes/base/service/impl/BaseStaffInfoServiceImpl.java @@ -74,7 +74,12 @@ public class BaseStaffInfoServiceImpl implements IBaseStaffInfoService { */ @Override public int deleteBaseStaffInfoByObjIds(Long[] objIds) { - return baseStaffInfoMapper.deleteBaseStaffInfoByObjIds(objIds); + for (Long objId : objIds) { + BaseStaffInfo baseStaffInfo = baseStaffInfoMapper.selectBaseStaffInfoByObjId(objId); + baseStaffInfo.setDelFlag("2"); + baseStaffInfoMapper.updateBaseStaffInfo(baseStaffInfo); + } + return 1; } /** @@ -85,6 +90,8 @@ public class BaseStaffInfoServiceImpl implements IBaseStaffInfoService { */ @Override public int deleteBaseStaffInfoByObjId(Long objId) { - return baseStaffInfoMapper.deleteBaseStaffInfoByObjId(objId); + BaseStaffInfo baseStaffInfo = baseStaffInfoMapper.selectBaseStaffInfoByObjId(objId); + baseStaffInfo.setDelFlag("2"); + return baseStaffInfoMapper.updateBaseStaffInfo(baseStaffInfo); } } diff --git a/os-mes/src/main/resources/mapper/mes/base/BaseProcessInfoMapper.xml b/os-mes/src/main/resources/mapper/mes/base/BaseProcessInfoMapper.xml new file mode 100644 index 0000000..987f4a1 --- /dev/null +++ b/os-mes/src/main/resources/mapper/mes/base/BaseProcessInfoMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + select bpi.obj_id, + bpi.process_code, + bpi.process_name, + bpi.process_type, + bpi.product_line_code, + bpi.station_codes, + bpi.capacity_day, + bpi.capacity_month, + bpi.is_flag, + bpi.create_by, + bpi.create_time, + bpi.update_by, + bpi.update_time + from base_process_info bpi + + + + + + + + insert into base_process_info + + process_code, + process_name, + process_type, + product_line_code, + station_codes, + capacity_day, + capacity_month, + is_flag, + create_by, + create_time, + update_by, + update_time, + + + #{processCode}, + #{processName}, + #{processType}, + #{productLineCode}, + #{stationCodes}, + #{capacityDay}, + #{capacityMonth}, + #{isFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update base_process_info + + process_code = #{processCode}, + process_name = #{processName}, + process_type = #{processType}, + product_line_code = #{productLineCode}, + station_codes = #{stationCodes}, + capacity_day = #{capacityDay}, + capacity_month = #{capacityMonth}, + is_flag = #{isFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where obj_id = #{objId} + + + + delete + from base_process_info + where obj_id = #{objId} + + + + delete from base_process_info where obj_id in + + #{objId} + + + \ No newline at end of file diff --git a/os-mes/src/main/resources/mapper/mes/base/BaseStaffInfoMapper.xml b/os-mes/src/main/resources/mapper/mes/base/BaseStaffInfoMapper.xml index 2112f7a..247a46b 100644 --- a/os-mes/src/main/resources/mapper/mes/base/BaseStaffInfoMapper.xml +++ b/os-mes/src/main/resources/mapper/mes/base/BaseStaffInfoMapper.xml @@ -21,6 +21,7 @@ + @@ -34,6 +35,7 @@ bsi.phone_number, bsi.sex, bsi.pass_word, + bsi.wage_coefficient, bsi.del_flag, bsi.create_by, bsi.create_time, @@ -55,6 +57,7 @@ and bsi.phone_number = #{phoneNumber} and bsi.sex = #{sex} and bsi.pass_word = #{passWord} + and bsi.del_flag = #{delFlag} @@ -80,6 +83,7 @@ update_by, update_time, remark, + wage_coefficient, #{staffId}, @@ -96,6 +100,7 @@ #{updateBy}, #{updateTime}, #{remark}, + #{wageCoefficient}, @@ -116,6 +121,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, + wage_coefficient = #{wageCoefficient}, where obj_id = #{objId}