Merge remote-tracking branch 'origin/main'

This commit is contained in:
jiang 2025-07-16 14:19:47 +08:00
commit 418a217700
19 changed files with 1127 additions and 251 deletions

File diff suppressed because it is too large Load Diff

View File

@ -57,9 +57,10 @@
<th style="width:5%" class="center">原编号</th>
<th style="width:5%" class="center">设备编码</th>
<th style="width:9%" class="center">资产属性</th>
<th style="width:5%" class="center">合格证</th>
<th style="width:5%" class="center">技术材料</th>
<th style="width:5%" class="center">改造手续</th>
<th style="width:6%" class="center">出厂日期</th>
<th style="width:4.5%" class="center">合格证</th>
<th style="width:4.5%" class="center">技术材料</th>
<th style="width:4.5%" class="center">改造手续</th>
<th style="width:6%" class="center">操作手册</th>
<th style="width:6%" class="center">二维码</th>
<th style="width:6%" class="center">机具状态</th>

View File

@ -51,17 +51,22 @@
<table id="baseTable" class="table table-striped table-bordered table-hover" >
<thead>
<tr>
<th style="width:5%" class="center">
<th style="width:3%" class="center">
选择<!-- <label><input type="checkbox" class="ace" ><span class="lbl"></span></label> -->
</th>
<th style="width:5%" class="center hidden-480">序号</th>
<th style="width:3%" class="center hidden-480">序号</th>
<th style="width:6%" class="center">机具类型</th>
<th style="width:6%" class="center">机具规格</th>
<th style="width:6%" class="center">机具数量</th>
<th style="width:6%" class="center">报废人</th>
<th style="width:6%" class="center">检验人</th>
<th style="width:11%" class="center">申请时间</th>
<th style="width:10%" class="center">操作</th>
<th style="width:4%" class="center">机具数量</th>
<th style="width:6%" class="center">报废来源</th>
<th style="width:5%" class="center">报废人</th>
<th style="width:5%" class="center">检验人</th>
<th style="width:5%" class="center">指派人</th>
<th style="width:6%" class="center">指派时间</th>
<th style="width:6%" class="center">申请时间</th>
<th style="width:6%" class="center">完成时间</th>
<th style="width:5%" class="center">完成状态</th>
<th style="width:6%" class="center">操作</th>
</tr>
</thead>
<tbody></tbody>

View File

@ -35,7 +35,8 @@
<a href="#" class="navbar-brand">
<small>
<i class="icon-leaf"></i>
<img src="${bonuspath}/static/img/icon.png">
<span>贵送机具管理系统</span>
<%-- <img src="${bonuspath}/static/img/icon.png">--%>
</small>
</a><!-- /.brand -->
</div><!-- /.navbar-header -->
@ -125,8 +126,8 @@
<script src="${bonuspath}/static/js/layer.js"></script>
<script type="text/javascript">
$(function(){
//openMenu("1","menu56","menu7","待办任务管理","/backstage/rm/taskRecord/show");
openMenu("1","menu1156","menu7","首页","/backstage/indexHome/list");
openMenu("1","menu56","menu7","待办任务管理","/backstage/rm/taskRecord/show");
// openMenu("1","menu1156","menu7","首页","/backstage/indexHome/list");
})
</script>
</body>

View File

@ -1252,7 +1252,7 @@ blockquote, blockquote.pull-right {
padding-right: 0;
min-height: 45px;
position: relative;
background: #438eb9
background: #1f77aa
}
.navbar>.container {

View File

@ -199,6 +199,7 @@ function getbaseList(index) {
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.originNum) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.deviceCode) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.companyName) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.outFactortTime) + "</td>";
if(l.fileName == null || l.fileName == 'null' || l.fileName == ''){
html += "<td style='vertical-align:middle;' class='center'><a href='javascript:void(0)' onclick = 'uploadImg("+l.id+",1)'>上传</a></td>";
html += "<td style='vertical-align:middle;' class='center'><a href='javascript:void(0)' onclick = 'uploadMaterials("+l.id+",2)'>上传</a></td>";

View File

@ -332,7 +332,7 @@ function rowFunction(id,deviceCode,isFixedAssets,typeId) {
h += "<a href='#' title='查看' onclick='check(&apos;"+id+"&apos;,&apos;"+typeId+"&apos;)' class='aBtnNoTD' ><i class='icon-zoom-in color-p bigger-140'></i></a>";
h += "<a href='#' title='机具生命周期' onclick='receive(&apos;" + deviceCode + "&apos;)' class='aBtnNoTD' ><i class='icon-list-alt color-p bigger-140'></i></a></li>";
// h += "<a href='#' title='修改' onclick='edit(&apos;"+id+"&apos;)' class='aBtnNoTD' ><i class='icon-edit color-blue bigger-140'></i></a>";
h += "<a href='#' title='报废' onclick='scrapping(&apos;"+id+"&apos;)' class='aBtnNoTD' ><i class='icon-edit color-blue bigger-140'></i></a>";
// h += "<a href='#' title='报废' onclick='scrapping(&apos;"+id+"&apos;)' class='aBtnNoTD' ><i class='icon-edit color-blue bigger-140'></i></a>";
h += "</div>";
h += "</td>";

View File

@ -79,6 +79,7 @@ function getbaseList(init) {
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.typeName) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.modelName) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.scrapNum) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.source) + "</td>";
if(l.scrapPerson == "" || l.scrapPerson == null){
l.scrapPerson = "尚未指派";
html += "<td style='vertical-align:middle;cursor:pointer;' class='center hidden-480'><a href='#' onclick='user("+ l.id +")'>" + l.scrapPerson + "</a></td>";
@ -93,7 +94,11 @@ function getbaseList(init) {
}
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.scrapChecker) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.assigner) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.specifyTime) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>"+ JY.Object.notEmpty(l.operationTime) + "</td>";
html += "<td style='vertical-align:middle;' class='center'>" + (l.isSure === "1" ? JY.Object.notEmpty(l.scrapTime) : "") + "</td>";
html += "<td style='vertical-align:middle;' class='center'>" + (l.isSure === "1" ? "已完成" : "未完成") + "</td>";
html += rowFunction(l.scrapPersonId,l.id,l.isActive);
html += "</tr>";
}

View File

@ -1,5 +1,5 @@
//JavaScript Document
var box_view_btn="loginBtn";//初始化按钮值
let box_view_btn = "loginBtn";//初始化按钮值
$(function () {
errorclean();
@ -7,45 +7,36 @@ $(function () {
//监听docuemnt的onkeydown事件看是不是按了回车键
$(document).keydown(function(event){
event = event ? event : window.event;
if (event.keyCode === 13){
if (event.keyCode === 13) {
$("#"+box_view_btn).trigger("click");
}
});
//登录
$("#loginBtn").click(function () {
errorclean();
if (!$('#agreementCheckbox').prop('checked')) {
layui.use('layer', function(){
var layer = layui.layer;
const layer = layui.layer;
layer.msg('请阅读并同意用户协议');
});
return false;
}
// alert($("#accountNameId").val());
if($("#accountNameId").val()==''){
/*$("#accountNameId").tips({side : 3,msg : "用户名不能为空!",bg : '#FF2D2D',time : 2});*/
$("#usererror").append("登录名不能为空");
// $("#accountNameId").focus();
}else if( $("#passwordId").val()==''){
} else if ( $("#passwordId").val()==''){
$("#passworderror").append("密码不能为空");
// $("#passwordId").tips({side : 3,msg : "密码不能为空!",bg : '#FF2D2D',time : 2});
// $("#passwordId").focus();
}/*else if("" == $("#verifyCodeId").val()){
$("#verifyCodeId").tips({side : 3,msg : "验证码不能为空!",bg : '#FF2D2D',time : 2});
$("#verifyCodeId").focus();
} */ else{
// alert("else");
} else {
dialogloading();
var loginname = $("#accountNameId").val();
var password = $("#passwordId").val();
let loginname = $("#accountNameId").val();
let password = $("#passwordId").val();
console.log("loginname="+typeof(loginname));
console.log("password="+typeof(password));
@ -64,26 +55,19 @@ $(function () {
$.ajax({type:'POST',url:bonuspath +'/system_login',data:{KEYDATA:code,tm:new Date().getTime(),uuId:uuid()},
dataType:'json',success:function(data, textStatus){
dialogloadingClose();
var result=data.result;
// alert(JSON.stringify(result));
const result = data.result;
if ("success" == result){ //如果登录不成功,则再次刷新验证码
sessionStorage.setItem("token",data.token);
// alert(result);
dialogloadingClose();
clearLoginForm();//清除信息
loginAlert(result);
// alert(result);
window.location.href=bonuspath+"/backstage/index";
//window.location.href=bonuspath+"/backstage/rm/taskRecord/show";
}else{
} else {
clearLoginForm();
loginAlert(result);
//alert("success11");
// window.location.href=bonuspath+"/backstage/index";
var errInfo=" ";
const errInfo = " ";
data.result=" ";
}
}
@ -105,7 +89,6 @@ $(function () {
});
function clean(){
errorclean();
}
@ -118,8 +101,7 @@ function uuid() {
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23];
var uuid = s.join("");
return uuid;
return s.join("");
}
@ -129,9 +111,6 @@ function errorclean(){
$("#passworderror").empty();
}
//自定义结束end
function clearLoginForm(){
$("#verifyCodeId").val("");
$("#passwordId").val("");
@ -146,7 +125,6 @@ function show_box(id) {
jQuery('#'+id).addClass('visible');
}
//刷新验证码
function getVerifyCode() {
$("#vimg").attr("src", "verifyCode/slogin.do?random=" + Math.random());
}
@ -192,7 +170,7 @@ function dialogerror(Str){
}
}]
});
};
}
function dialogloading(){
$("#jyLoadingStr").empty().append("正在登录 , 请稍后 ...");
@ -203,8 +181,8 @@ function dialogloading(){
modal: true,
show:{effect:"fade"},hide:{effect:"fade"}
});
};
}
function dialogloadingClose(){
$("#jyLoading").dialog("close");
};
}

View File

@ -753,7 +753,7 @@
mat.UNIT AS unit,
mat.LEASE_PRICE AS
leasePrice,
ROUND(CONVERT ( ( mr.PAY_PRICE ), DECIMAL ( 10, 2 ) )) AS
ROUND(CONVERT ( ( mat.PAY_PRICE ), DECIMAL ( 10, 2 ) )) AS
payPrice,
ROUND(mat.BUY_PRICE) AS buyPrice,
mat.IS_TEST AS isTest,
@ -815,15 +815,22 @@
</select>
<update id="updateModel" parameterType="com.bonus.ma.beans.MachineTypeBean">
update mm_type
set `NAME`
= #{name},
UPDATE mm_type
<set>
`NAME` = #{name},
<if test="weight != null and weight != ''">
WEIGHT = #{weight},
</if>
UNIT = #{unit},
IS_COUNT = #{isCount},
RFID_POWER=#{rfidPower}
where id = #{id}
<if test="rfidPower != null and rfidPower != ''">
RFID_POWER = #{rfidPower},
</if>
LEASE_PRICE = #{leasePrice},
BUY_PRICE = #{buyPrice},
PAY_PRICE = #{payPrice}
</set>
WHERE id = #{id}
</update>
<update id="updateOrgModel" parameterType="com.bonus.ma.beans.MachineTypeBean">

View File

@ -543,7 +543,7 @@
mt2.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR mt.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR wir.`CODE` LIKE CONCAT('%',#{keyWord},'%')
OR wir.REMARK LIKE CONCAT('%',#{keyWord},'%')
)
</if>
ORDER BY wir.TIME DESC
@ -888,6 +888,7 @@
mt2.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR mt.`NAME` LIKE CONCAT('%',#{keyWord},'%')
OR wir.`CODE` LIKE CONCAT('%',#{keyWord},'%')
OR mm.REMARK LIKE CONCAT('%',#{keyWord},'%')
)
</if>
ORDER BY wir.TIME DESC

View File

@ -115,7 +115,9 @@
(sum( IFNULL(ROUND(wrc.ALCHECK_NUM),0) ) + sum( IFNULL(ROUND(wrc.ALSCRAP_NUM),0))) AS checkNum,
mt.IS_COUNT AS isCount,
GROUP_CONCAT(DISTINCT wrc.REPAIR_ID) as repairIds
GROUP_CONCAT(DISTINCT wrc.REPAIR_ID) as repairIds,
MAX(wrc.CHECK_TIME) AS checkTime,
MAX(wrc.OPERATION_TIME) AS repairTime
FROM
wf_repair_check wrc
LEFT JOIN mm_type mt ON mt.ID = wrc.MODEL_ID
@ -133,6 +135,10 @@
GROUP BY wrc.MODEL_ID
)a
WHERE a.checkNum > 0
<if test="startTime != null and startTime != ''">
AND LEFT(a.checkTime,10) BETWEEN #{startTime} and #{endTime}
</if>
ORDER BY a.checkTime desc
</select>

View File

@ -81,6 +81,9 @@
WHERE wtr.IS_ACTIVE = 1 AND wtr.PROCESS_ID = 3 AND wtr.DEFINITION_ID = 8
AND wtr.IS_FINISH = #{isFinish}
AND wtr.CHECKER_ID = #{checkerId}
<if test="startTime != null and startTime != ''">
AND LEFT(wtr.OPERATION_TIME,10) BETWEEN #{startTime} and #{endTime}
</if>
ORDER BY wtr.OPERATION_TIME DESC
</select>

View File

@ -6,12 +6,18 @@
<select id="findByPage" parameterType="com.bonus.scrap.beans.ScrapDetailsBean" resultMap="scrap">
SELECT wsd.ID as id,wsd.is_active as isActive,ROUND(wsd.SCRAP_NUM) AS scrapNum,mt.`NAME` AS modelName,wsd.SCRAP_TIME AS scrapTime,
mtt.`NAME` AS typeName,pu.`NAME` AS scrapChecker,wsd.SCRAP_PERSON as scrapPersonId,puu.`NAME` AS scrapPerson,
wsd.OPERATION_TIME as operationTime
wsd.OPERATION_TIME as operationTime,wsd.SPECIFY_TIME as specifyTime,pu3.`NAME` AS assigner,
wsd.IS_SURE as isSure,
wtd.`NAME` as source
FROM wf_scrap_details wsd
LEFT JOIN mm_type mt ON mt.ID = wsd.MODEL_ID
LEFT JOIN mm_type mtt ON mtt.ID = mt.PARENT_ID
LEFT JOIN pm_user pu ON pu.ID = wsd.SCRAP_CHECKER
LEFT JOIN pm_user puu ON puu.ID = wsd.SCRAP_PERSON
LEFT JOIN pm_user pu3 ON pu3.ID = wsd.ASSIGNER
LEFT JOIN wf_task_record wtr on wtr.ID=wsd.TASK_ID
LEFT JOIN wf_task_record wtr2 on wtr.SUP_ID=wtr2.ID
LEFT JOIN wf_task_definition wtd on wtd.ID=wtr2.DEFINITION_ID
WHERE left(wsd.OPERATION_TIME,10) BETWEEN #{param.startTime} and #{param.endTime}
<if test="param.keyWord != null and param.keyWord !='' ">
AND(
@ -24,7 +30,7 @@
</select>
<update id="update" parameterType="com.bonus.scrap.beans.ScrapDetailsBean" >
update wf_scrap_details set SCRAP_PERSON = #{scrapPerson}, SCRAP_CHECKER = #{scrapPerson}
update wf_scrap_details set SCRAP_PERSON = #{scrapPerson}, SCRAP_CHECKER = #{scrapPerson},SPECIFY_TIME=NOW(),ASSIGNER=#{userId}
where ID = #{id}
</update>
@ -281,6 +287,7 @@
SUM(wsd.SCRAP_NUM) as scrap,
SUM(wsd.ALSCRAP_NUM) as alScrapNum ,
mt.IS_COUNT as isCount,
wsd.SCRAP_TIME as scrapTime,
0 as isFinish
FROM
wf_scrap_details wsd
@ -296,6 +303,7 @@
</if>
GROUP BY wsd.MODEL_ID
HAVING alScrapNum > 0
ORDER BY wsd.SCRAP_TIME DESC
</select>

View File

@ -23,7 +23,7 @@
</context:component-scan>
<!-- 对静态资源文件的访问 restful -->
<mvc:resources mapping="/static/**" location="/,/static/" />
<mvc:resources mapping="/static/**" location="/,/static/" cache-period="0" />
<mvc:resources mapping="/filePath/**" location="file:/data/gzimt/"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"

View File

@ -50,19 +50,16 @@ public class AreaTypeServiceImp extends BaseServiceImp<AreaTypeBean> implements
@Override
public List<AreaTypeBean> findma(AreaTypeBean o) {
return dao.findma(o);
}
@Override
public List<AreaTypeBean> findmt(AreaTypeBean o) {
// TODO Auto-generated method stub
return dao.findmt(o);
}
@Override
public List<ZNode> orgTree() {
// TODO Auto-generated method stub
return dao.orgTree(null);
}

View File

@ -55,6 +55,20 @@ public class ScrapDetailsBean {
private ScrapDetailsBean[] arr;
private float paraNum;
/**
* 指派时间
*/
private String specifyTime;
/**
* 指派人
*/
private String assigner;
/**
* 来源
*/
private String source;
public String getUserId() {
return userId;
}
@ -423,4 +437,28 @@ public class ScrapDetailsBean {
this.paraNum = paraNum;
}
public String getSpecifyTime() {
return specifyTime;
}
public void setSpecifyTime(String specifyTime) {
this.specifyTime = specifyTime;
}
public String getAssigner() {
return assigner;
}
public void setAssignere(String assigner) {
this.assigner = assigner;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
}

View File

@ -16,6 +16,8 @@ import com.bonus.sys.AjaxRes;
import com.bonus.sys.BaseController;
import com.bonus.sys.GlobalConst;
import com.bonus.sys.Page;
import com.bonus.sys.UserShiroHelper;
import com.bonus.sys.beans.UserBean;
import com.sun.java_cup.internal.runtime.virtual_parse_stack;
@Controller
@ -51,6 +53,9 @@ public class ScrapDetailsController extends BaseController<ScrapDetailsBean> {
public AjaxRes update(ScrapDetailsBean o) {
AjaxRes ar = getAjaxRes();
try {
UserBean user = UserShiroHelper.getRealCurrentUser();
int userId = user.getId();
o.setUserId(userId+"");
service.update(o);
ar.setSucceedMsg(GlobalConst.SAVE_SUCCEED);
} catch (Exception e) {

View File

@ -267,7 +267,7 @@ public class ScrapDetailsServiceImp extends BaseServiceImp<ScrapDetailsBean> imp
// 修改维修报废数据 scrap_num + paraScrapNum, is_sure = 1
mtBean.setThisScrapNum(paraScrapNum);
mtBean.setIsSure("1");
mtBean.setScrapTime(DateTimeHelper.getNowDate());
mtBean.setScrapTime(DateTimeHelper.getNowTime());
res = dao.updateScrapDetails(mtBean);
if (res == 0) {