feat:报废提报审批等接口

master
wanghao 3 weeks ago
parent 6ef3caff31
commit 10813d84ad

@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.manager.domain.RecordAssetScrap;
import com.ruoyi.manager.domain.RecordAssetScrapImg;
import com.ruoyi.manager.service.IRecordAssetScrapService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@ -125,4 +126,16 @@ public class RecordAssetScrapController extends BaseController
{
return toAjax(recordAssetScrapService.deleteRecordAssetScrapByIds(ids));
}
/**
* 使
*/
@PostMapping("/imgList")
@ResponseBody
public List<RecordAssetScrapImg> imgList(Long recordAssetScrapId)
{
RecordAssetScrapImg query = new RecordAssetScrapImg();
query.setRecordAssetScrapId(recordAssetScrapId);
return recordAssetScrapService.selectRecordAssetScrapImgList(query);
}
}

@ -1,19 +1,21 @@
package com.ruoyi.manager.mapper;
import java.util.List;
import com.ruoyi.manager.domain.RecordAssetScrap;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
*
* @author ruoyi
* @date 2026-06-02
*/
public interface RecordAssetScrapMapper
{
@Repository
public interface RecordAssetScrapMapper {
/**
*
*
*
* @param id
* @return
*/
@ -21,7 +23,7 @@ public interface RecordAssetScrapMapper
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@ -29,7 +31,7 @@ public interface RecordAssetScrapMapper
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@ -37,7 +39,7 @@ public interface RecordAssetScrapMapper
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@ -45,7 +47,7 @@ public interface RecordAssetScrapMapper
/**
*
*
*
* @param id
* @return
*/
@ -53,9 +55,11 @@ public interface RecordAssetScrapMapper
/**
*
*
*
* @param ids
* @return
*/
public int deleteRecordAssetScrapByIds(String[] ids);
List<RecordAssetScrap> selectRecordAssetScrapList1(RecordAssetScrap recordAssetScrap);
}

@ -2,6 +2,7 @@ package com.ruoyi.manager.service;
import java.util.List;
import com.ruoyi.manager.domain.RecordAssetScrap;
import com.ruoyi.manager.domain.RecordAssetScrapImg;
/**
* Service
@ -58,4 +59,22 @@ public interface IRecordAssetScrapService
* @return
*/
public int deleteRecordAssetScrapById(Long id);
List<RecordAssetScrap> selectRecordAssetScrapList1(RecordAssetScrap recordAssetScrap);
/**
*
*
* @param recordAssetScrapImg
* @return
*/
public int insertRecordAssetScrapImg(RecordAssetScrapImg recordAssetScrapImg);
/**
*
*
* @param recordAssetScrapImg
* @return
*/
public List<RecordAssetScrapImg> selectRecordAssetScrapImgList(RecordAssetScrapImg recordAssetScrapImg);
}

@ -1,96 +1,114 @@
package com.ruoyi.manager.service.impl;
import java.util.List;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.manager.domain.RecordAssetScrap;
import com.ruoyi.manager.domain.RecordAssetScrapImg;
import com.ruoyi.manager.mapper.RecordAssetScrapImgMapper;
import com.ruoyi.manager.mapper.RecordAssetScrapMapper;
import com.ruoyi.manager.service.IBaseBasketInfoService;
import com.ruoyi.manager.service.IRecordAssetScrapService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.manager.mapper.RecordAssetScrapMapper;
import com.ruoyi.manager.domain.RecordAssetScrap;
import com.ruoyi.manager.service.IRecordAssetScrapService;
import com.ruoyi.common.core.text.Convert;
import java.util.List;
/**
* Service
*
*
* @author ruoyi
* @date 2026-06-02
*/
@Service
public class RecordAssetScrapServiceImpl implements IRecordAssetScrapService
{
public class RecordAssetScrapServiceImpl implements IRecordAssetScrapService {
@Autowired
private RecordAssetScrapMapper recordAssetScrapMapper;
@Autowired
private RecordAssetScrapImgMapper recordAssetScrapImgMapper;
/**
*
*
*
* @param id
* @return
*/
@Override
public RecordAssetScrap selectRecordAssetScrapById(Long id)
{
public RecordAssetScrap selectRecordAssetScrapById(Long id) {
return recordAssetScrapMapper.selectRecordAssetScrapById(id);
}
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@Override
public List<RecordAssetScrap> selectRecordAssetScrapList(RecordAssetScrap recordAssetScrap)
{
public List<RecordAssetScrap> selectRecordAssetScrapList(RecordAssetScrap recordAssetScrap) {
return recordAssetScrapMapper.selectRecordAssetScrapList(recordAssetScrap);
}
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@Override
public int insertRecordAssetScrap(RecordAssetScrap recordAssetScrap)
{
public int insertRecordAssetScrap(RecordAssetScrap recordAssetScrap) {
recordAssetScrap.setCreateTime(DateUtils.getNowDate());
return recordAssetScrapMapper.insertRecordAssetScrap(recordAssetScrap);
}
/**
*
*
*
* @param recordAssetScrap
* @return
*/
@Override
public int updateRecordAssetScrap(RecordAssetScrap recordAssetScrap)
{
public int updateRecordAssetScrap(RecordAssetScrap recordAssetScrap) {
return recordAssetScrapMapper.updateRecordAssetScrap(recordAssetScrap);
}
/**
*
*
*
* @param ids
* @return
*/
@Override
public int deleteRecordAssetScrapByIds(String ids)
{
public int deleteRecordAssetScrapByIds(String ids) {
return recordAssetScrapMapper.deleteRecordAssetScrapByIds(Convert.toStrArray(ids));
}
/**
*
*
*
* @param id
* @return
*/
@Override
public int deleteRecordAssetScrapById(Long id)
{
public int deleteRecordAssetScrapById(Long id) {
return recordAssetScrapMapper.deleteRecordAssetScrapById(id);
}
@Override
public List<RecordAssetScrap> selectRecordAssetScrapList1(RecordAssetScrap recordAssetScrap) {
return recordAssetScrapMapper.selectRecordAssetScrapList1(recordAssetScrap);
}
@Override
public int insertRecordAssetScrapImg(RecordAssetScrapImg recordAssetScrapImg) {
// recordAssetScrapImg.setCreateTime(DateUtils.getNowDate());
return recordAssetScrapImgMapper.insertRecordAssetScrapImg(recordAssetScrapImg);
}
@Override
public List<RecordAssetScrapImg> selectRecordAssetScrapImgList(RecordAssetScrapImg recordAssetScrapImg) {
return recordAssetScrapImgMapper.selectRecordAssetScrapImgList(recordAssetScrapImg);
}
}

@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join base_basket_info bbi on ras.asset_id = bbi.obj_id
</sql>
<select id="selectRecordAssetScrapList" parameterType="RecordAssetScrap" resultMap="RecordAssetScrapResult">
<include refid="selectLeft"/>
<where>
@ -127,5 +128,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</update>
<select id="selectRecordAssetScrapList1" resultMap="RecordAssetScrapResult">
select ras.id,
sdd.dict_label scrap_reason_type,
ras.scrap_remark,
ras.gps_location,
ras.create_by,
ras.create_time,
bbi.basket_code,
bbi.basket_spe,
bbi.basket_type,
bbi.steel_grade,
bbi.self_code,
department,
manufacturer_name
from record_asset_scrap ras
left join base_basket_info bbi on ras.asset_id = bbi.obj_id
left join sys_dict_data sdd on sdd.dict_type='asset_scrap_reason' and ras.scrap_reason_type=sdd.dict_value
where del_flag=0 and ras.status=0
</select>
</mapper>

@ -11,7 +11,7 @@
<div class="select-list">
<ul>
<li>
报废原因类型
<label>报废原因:</label>
<select name="scrapReasonType" th:with="type=${@dict.getType('asset_scrap_reason')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
@ -87,6 +87,7 @@
var removeFlag = [[${@permission.hasPermi('manager:asset_scrap:remove')}]];
var scrapReasonTypeDatas = [[${@dict.getType('asset_scrap_reason')}]];
var basketTypeDatas = [[${@dict.getType('basket_type')}]];
var scrapReasonStateDatas = [[${@dict.getType('asset_scrap_state')}]];
var prefix = ctx + "manager/asset_scrap";
$(function() {
@ -97,6 +98,10 @@
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "资产报废提报",
detailView: true,
onExpandRow: function (index, row, $detail) {
initScrapImgTable(index, row, $detail);
},
columns: [{
checkbox: true
},
@ -131,7 +136,7 @@
},
{
field: 'scrapReasonType',
title: '报废原因类型',
title: '报废原因',
formatter: function(value, row, index) {
return $.table.selectDictLabel(scrapReasonTypeDatas, value);
}
@ -147,7 +152,10 @@
},
{
field: 'status',
title: '状态'
title: '状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(scrapReasonStateDatas, value);
}
},
{
field: 'createBy',
@ -187,6 +195,41 @@
};
$.table.init(options);
});
initScrapImgTable = function (index, row, $detail) {
var childTable = $detail.html('<table style="table-layout:fixed"></table>').find('table');
$(childTable).bootstrapTable({
url: ctx + "manager/asset_scrap/imgList",
method: 'post',
sidePagination: "server",
contentType: "application/x-www-form-urlencoded",
queryParams: {
recordAssetScrapId: row.id
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
field: 'scrapRemark',
title: '查验照片'/*,
formatter: function (value, row, index) {
if (value) {
return '<a href="' + value + '" target="_blank"><img src="' + value + '" style="max-width:100px;max-height:80px;"/></a>';
}
return '';
}*/,
formatter: function (value, row, index) {
return $.table.imageView(value, 818, 460, null);
}
}
]
});
};
</script>
</body>
</html>

@ -65,6 +65,8 @@ public class ApiController extends BaseController {
private IRecordDeliveryTaskWaybillService recordDeliveryTaskWaybillService;//进港接货
@Autowired
private IRecordBaseketChangeRfidService recordBaseketChangeRfidService;//更换RFID记录
@Autowired
private IRecordAssetScrapService recordAssetScrapService;//报废提报
@PostMapping("/findBindingList")
public AjaxResult findBindingList(String epc) {
@ -593,6 +595,62 @@ public class ApiController extends BaseController {
}
// 提交报废记录
@PostMapping("/insertAssetScrapRecord")
public AjaxResult insertAssetScrapRecord(@RequestBody RecordAssetScrap recordAssetScrap) {
return toAjax(recordAssetScrapService.insertRecordAssetScrap(recordAssetScrap));
}
// 查验报废未完成
@PostMapping("/selectAssetScrapRecordList")
public AjaxResult selectAssetScrapRecordList() {
List<RecordAssetScrap> recordAssetScraps = recordAssetScrapService.selectRecordAssetScrapList1(null);
return AjaxResult.success(recordAssetScraps);
}
// 报废提报批示
@Transactional
@PostMapping("/updateAssetScrapRecord")
public AjaxResult updateAssetScrapRecord(@RequestParam("id") Long id,
@RequestParam("assetId") Long assetId,
@RequestParam("status") Long status,
@RequestParam("approveBy") String approveBy,
@RequestParam(name = "rejectReason", defaultValue = "") String rejectReason,
@RequestParam(name = "files", required = false) List<MultipartFile> files) {
// 1. 更新主表状态
RecordAssetScrap recordAssetScrap = new RecordAssetScrap();
recordAssetScrap.setId(id);
recordAssetScrap.setStatus(status);
recordAssetScrap.setApproveBy(approveBy);
recordAssetScrap.setRejectReason(rejectReason);
recordAssetScrap.setApproveTime(new Date());
int i = recordAssetScrapService.updateRecordAssetScrap(recordAssetScrap);
// 2. 审批通过时更新资产基础信息状态为报废basketStatus=4
if (i > 0 && status == 1L) {
BaseBasketInfo baseBasketInfo = new BaseBasketInfo();
baseBasketInfo.setObjId(assetId);
baseBasketInfo.setBasketStatus(4L);
baseBasketInfoService.updateBaseBasketInfo(baseBasketInfo);
}
// 3. 上传图片并插入图片表
if (files != null && !files.isEmpty()) {
String filePath = RuoYiConfig.getUploadPath();
for (MultipartFile file : files) {
try {
String fileName = FileUploadUtils.upload(filePath, file);
RecordAssetScrapImg img = new RecordAssetScrapImg();
img.setRecordAssetScrapId(id);
img.setScrapRemark(fileName);
recordAssetScrapService.insertRecordAssetScrapImg(img);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
return AjaxResult.success();
}
@GetMapping("/getVersion")
public String getVersion() {

Loading…
Cancel
Save