change - 工资结算加系数、工序信息

boardTest
yinq 1 year ago
parent b154069c9d
commit 644cddc469

@ -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<BaseProcessInfo> 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<BaseProcessInfo> list = baseProcessInfoService.selectBaseProcessInfoList(baseProcessInfo);
ExcelUtil<BaseProcessInfo> util = new ExcelUtil<BaseProcessInfo>(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));
}
}

@ -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();
}
}

@ -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;
}

@ -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<BaseProcessInfo> 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);
}

@ -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<BaseProcessInfo> 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);
}

@ -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<BaseProcessInfo> selectBaseProcessInfoList(BaseProcessInfo baseProcessInfo) {
List<BaseProcessInfo> processList = baseProcessInfoMapper.selectBaseProcessInfoList(baseProcessInfo);
BaseProductLine productLine = new BaseProductLine();
productLine.setProductLineType("2");
List<BaseProductLine> 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<BaseProductLine> 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);
}
}

@ -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);
}
}

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.os.mes.base.mapper.BaseProcessInfoMapper">
<resultMap type="BaseProcessInfo" id="BaseProcessInfoResult">
<result property="objId" column="obj_id"/>
<result property="processCode" column="process_code"/>
<result property="processName" column="process_name"/>
<result property="processType" column="process_type"/>
<result property="productLineCode" column="product_line_code"/>
<result property="stationCodes" column="station_codes"/>
<result property="capacityDay" column="capacity_day"/>
<result property="capacityMonth" column="capacity_month"/>
<result property="isFlag" column="is_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBaseProcessInfoVo">
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
</sql>
<!--SELECT ST.process_code,
ST.station_code,
PL.product_line_name AS station_name
FROM (
SELECT process_code,
value station_code
FROM base_process_info
CROSS APPLY STRING_SPLIT(station_codes, ',')
) ST
LEFT JOIN base_product_line PL ON PL.PRODUCT_LINE_CODE = ST.station_code-->
<select id="selectBaseProcessInfoList" parameterType="BaseProcessInfo" resultMap="BaseProcessInfoResult">
<include refid="selectBaseProcessInfoVo"/>
<where>
<if test="processCode != null and processCode != ''">and bpi.process_code = #{processCode}</if>
<if test="processName != null and processName != ''">and bpi.process_name like concat('%', #{processName},
'%')
</if>
<if test="processType != null and processType != ''">and bpi.process_type = #{processType}</if>
<if test="productLineCode != null and productLineCode != ''">and bpi.product_line_code = #{productLineCode}
</if>
<if test="stationCodes != null and stationCodes != ''">and bpi.station_codes = #{stationCodes}</if>
<if test="capacityDay != null ">and bpi.capacity_day = #{capacityDay}</if>
<if test="capacityMonth != null ">and bpi.capacity_month = #{capacityMonth}</if>
<if test="isFlag != null and isFlag != ''">and bpi.is_flag = #{isFlag}</if>
</where>
</select>
<select id="selectBaseProcessInfoByObjId" parameterType="Long" resultMap="BaseProcessInfoResult">
<include refid="selectBaseProcessInfoVo"/>
where bpi.obj_id = #{objId}
</select>
<insert id="insertBaseProcessInfo" parameterType="BaseProcessInfo" useGeneratedKeys="true" keyProperty="objId">
insert into base_process_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="processCode != null">process_code,</if>
<if test="processName != null">process_name,</if>
<if test="processType != null">process_type,</if>
<if test="productLineCode != null">product_line_code,</if>
<if test="stationCodes != null">station_codes,</if>
<if test="capacityDay != null">capacity_day,</if>
<if test="capacityMonth != null">capacity_month,</if>
<if test="isFlag != null">is_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="processCode != null">#{processCode},</if>
<if test="processName != null">#{processName},</if>
<if test="processType != null">#{processType},</if>
<if test="productLineCode != null">#{productLineCode},</if>
<if test="stationCodes != null">#{stationCodes},</if>
<if test="capacityDay != null">#{capacityDay},</if>
<if test="capacityMonth != null">#{capacityMonth},</if>
<if test="isFlag != null">#{isFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBaseProcessInfo" parameterType="BaseProcessInfo">
update base_process_info
<trim prefix="SET" suffixOverrides=",">
<if test="processCode != null">process_code = #{processCode},</if>
<if test="processName != null">process_name = #{processName},</if>
<if test="processType != null">process_type = #{processType},</if>
<if test="productLineCode != null">product_line_code = #{productLineCode},</if>
<if test="stationCodes != null">station_codes = #{stationCodes},</if>
<if test="capacityDay != null">capacity_day = #{capacityDay},</if>
<if test="capacityMonth != null">capacity_month = #{capacityMonth},</if>
<if test="isFlag != null">is_flag = #{isFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where obj_id = #{objId}
</update>
<delete id="deleteBaseProcessInfoByObjId" parameterType="Long">
delete
from base_process_info
where obj_id = #{objId}
</delete>
<delete id="deleteBaseProcessInfoByObjIds" parameterType="String">
delete from base_process_info where obj_id in
<foreach item="objId" collection="array" open="(" separator="," close=")">
#{objId}
</foreach>
</delete>
</mapper>

@ -21,6 +21,7 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="wageCoefficient" column="wage_coefficient"/>
</resultMap>
<sql id="selectBaseStaffInfoVo">
@ -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 @@
<if test="phoneNumber != null and phoneNumber != ''">and bsi.phone_number = #{phoneNumber}</if>
<if test="sex != null and sex != ''">and bsi.sex = #{sex}</if>
<if test="passWord != null and passWord != ''">and bsi.pass_word = #{passWord}</if>
<if test="delFlag != null and delFlag != ''">and bsi.del_flag = #{delFlag}</if>
</where>
</select>
@ -80,6 +83,7 @@
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="wageCoefficient != null">wage_coefficient,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="staffId != null and staffId != ''">#{staffId},</if>
@ -96,6 +100,7 @@
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="wageCoefficient != null">#{wageCoefficient},</if>
</trim>
</insert>
@ -116,6 +121,7 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="wageCoefficient != null">wage_coefficient = #{wageCoefficient},</if>
</trim>
where obj_id = #{objId}
</update>

Loading…
Cancel
Save