Browse Source

[feat]品质管理:

制程工序
新增制程工序新增页面
新增制程工序修改页面
设置新增制程工序数据的时候设置制程工序ID按照一定规则自增长
dev
liuxiaoxu 4 months ago
parent
commit
7790c61805
  1. 8
      ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityManufacturingProcessMapper.java
  2. 46
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityManufacturingProcessServiceImpl.java
  3. 4
      ruoyi-admin/src/main/resources/mapper/quality/QualityManufacturingProcessMapper.xml
  4. 18
      ruoyi-admin/src/main/resources/templates/quality/manufacturingProcess/manufacturingProcess.html

8
ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityManufacturingProcessMapper.java

@ -2,6 +2,7 @@ package com.ruoyi.quality.mapper;
import java.util.List;
import com.ruoyi.quality.domain.QualityManufacturingProcess;
import org.springframework.data.repository.query.Param;
/**
* 品质管理制程工序Mapper接口
@ -74,4 +75,11 @@ public interface QualityManufacturingProcessMapper
* @return 结果
*/
public int restoreQualityManufacturingProcessById(Long manufacturingProcessAutoid);
/**
* 查询数据库中今天已经生产的最大序号
*
* @param prefix 前面的ZCGX年月日
*/
public String findMaxRoundCode(@Param("prefix") String prefix);
}

46
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityManufacturingProcessServiceImpl.java

@ -1,14 +1,22 @@
package com.ruoyi.quality.service.impl;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.quality.mapper.QualityManufacturingProcessMapper;
import com.ruoyi.quality.domain.QualityManufacturingProcess;
import com.ruoyi.quality.service.IQualityManufacturingProcessService;
import com.ruoyi.common.core.text.Convert;
import org.springframework.transaction.annotation.Transactional;
/**
* 品质管理制程工序Service业务层处理
@ -52,15 +60,53 @@ public class QualityManufacturingProcessServiceImpl implements IQualityManufactu
* @param qualityManufacturingProcess 品质管理制程工序
* @return 结果
*/
@Transactional
@Override
public int insertQualityManufacturingProcess(QualityManufacturingProcess qualityManufacturingProcess)
{
//更改日期格式,以提高可读性
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String dataPart = df.format(new Date());
//移除日期中的分隔符以便于后续处理
String prefix = "ZCGX"+dataPart.replace("-","");
//查询数据库中最大的编号
String maxCode = qualityManufacturingProcessMapper.findMaxRoundCode(prefix);
String newCode = generateNewCode(prefix,maxCode);
qualityManufacturingProcess.setManufacturingProcessId(newCode);
String loginName = ShiroUtils.getLoginName();
qualityManufacturingProcess.setCreateBy(loginName);
qualityManufacturingProcess.setCreateTime(DateUtils.getNowDate());
return qualityManufacturingProcessMapper.insertQualityManufacturingProcess(qualityManufacturingProcess);
}
/**
*制程工序ID生产规则
*系统自动生成按照特定编码编码暂用ZCGX+年月日+001
*自增长:ZCGX20231111001ZCGX20231111002
*
*/
private String generateNewCode(String prefix, String maxCode) {
if (StringUtils.isEmpty(maxCode)){
return prefix+"001";
}
//解析并递增编号
int sequence = Integer.parseInt(maxCode.substring(4)) + 1 ;
//检查序列号是否溢出
if (sequence>9999){
throw new BusinessException("当日编号已达到最大值999,请检查或调整策略");
}
//格式化序列号,自动补零至三位
DecimalFormat df = new DecimalFormat("000");
return prefix + df.format(sequence);
}
/**
* 修改品质管理制程工序
*

4
ruoyi-admin/src/main/resources/mapper/quality/QualityManufacturingProcessMapper.xml

@ -119,4 +119,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update quality_manufacturing_process set del_flag = '0' where manufacturing_process_autoid = #{manufacturingProcessAutoid}
</update>
<select id="findMaxRoundCode" resultType="String">
select max(substring(manufacturing_process_id,9)) from quality_manufacturing_process WHERE manufacturing_process_id LIKE CONCAT(#{prefix}, '%')
</select>
</mapper>

18
ruoyi-admin/src/main/resources/templates/quality/manufacturingProcess/manufacturingProcess.html

@ -52,9 +52,6 @@
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="quality:manufacturingProcess:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="quality:manufacturingProcess:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
@ -64,9 +61,8 @@
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('quality:manufacturingProcess:edit')}]];
var detailFlag = [[${@permission.hasPermi('quality:manufacturingProcess:detail')}]];
var removeFlag = [[${@permission.hasPermi('quality:manufacturingProcess:remove')}]];
var cancelFlag = [[${@permission.hasPermi('quality:manufacturingProcess:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('quality:manufacturingProcess:restore')}]];
var manufacturingProcessNameDatas = [[${@dict.getType('manufacturing_process_name')}]];
var prefix = ctx + "quality/manufacturingProcess";
@ -153,18 +149,18 @@
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.manufacturingProcessAutoid + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.manufacturingProcessAutoid + '\')"><i class="fa fa-remove"></i>删除</a> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.manufacturingProcessAutoid + '\')"><i class="fa fa-edit"></i>编辑</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
// 详情页面
function detail(manufacturingProcessAutoid){
var url = ctx+'quality/manufacturingProcess/detail'+manufacturingProcessAutoid;
$.modal.open("制程工序详情",url);
}
</script>
</body>
</html>
Loading…
Cancel
Save