Merge branch 'dev-nx' of http://192.168.0.56:3000/bonus/devicesmgt into dev-nx

This commit is contained in:
BianLzhaoMin 2024-06-25 17:36:14 +08:00
commit 158416a4f2
9 changed files with 89 additions and 58 deletions

View File

@ -173,6 +173,9 @@ public class MaType extends BaseEntity {
@ApiModelProperty(value = "库管员id")
private List<Long> keeperUserId;
@ApiModelProperty(value = "库管员id")
private String keeperUserIds;
/** 库管员名称 */
@ApiModelProperty(value = "库管员名称")
@Excel(name = "库管员")
@ -457,7 +460,7 @@ public class MaType extends BaseEntity {
return keeperUserId;
}
public void setKeeperUserIdList(List<Long> keeperUserId) {
public void setKeeperUserId(List<Long> keeperUserId) {
this.keeperUserId = keeperUserId;
}

View File

@ -33,22 +33,24 @@ public class MaTypeController extends BaseController {
/**
* 根据类型名称查询类型
*
* @return 结果
*/
@ApiOperation(value = "根据类型名称查询类型")
@GetMapping("/getMaTypeList")
public AjaxResult getMaTypeList(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName, @RequestParam(required = false, defaultValue = "", value = "parentId") String parentId){
public AjaxResult getMaTypeList(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName, @RequestParam(required = false, defaultValue = "", value = "parentId") String parentId) {
List<TreeSelect> maTypeList = iTypeService.getMaTypeList(typeName, parentId);
return AjaxResult.success(maTypeList);
}
/**
* 工机具类型下拉树
*
* @return 结果
*/
@ApiOperation(value = "工机具类型下拉树")
@GetMapping("/getMaTypeSelect")
public AjaxResult getMaTypeSelect(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName, @RequestParam(required = false, defaultValue = "", value = "parentId") String parentId){
public AjaxResult getMaTypeSelect(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName, @RequestParam(required = false, defaultValue = "", value = "parentId") String parentId) {
List<TreeSelect> maTypeList = iTypeService.getMaTypeSelect(typeName, parentId);
return AjaxResult.success(maTypeList);
}
@ -62,30 +64,34 @@ public class MaTypeController extends BaseController {
/**
* 根据左列表类型id查询右表格
*
* @param typeId
* @return
*/
@ApiOperation(value = "工器具类型")
@GetMapping("/equipmentType")
public AjaxResult equipmentType(@RequestParam(required = false) Long typeId,
@RequestParam(required = false) String typeName){
List<MaType> listByMaType = iTypeService.getEquipmentType(typeId,typeName);
@RequestParam(required = false) String typeName) {
List<MaType> listByMaType = iTypeService.getEquipmentType(typeId, typeName);
return success(listByMaType);
}
/**
* 获取规格层级为3的设备列表
*
* @return 结果
*/
@ApiOperation(value = "获取规格层级的设备列表")
@GetMapping("/selectMaTypeListByLevelIndex")
public AjaxResult selectMaTypeListByLevelIndex(@RequestParam(value = "level", required = false) Integer level, @RequestParam(value = "type") Integer type, @RequestParam(value = "parentId", required = false) Integer parentId, @RequestParam(value = "keyword", required = false) String keyword){
if (type == null) { return AjaxResult.error("参数错误,类型不能为空"); }
public AjaxResult selectMaTypeListByLevelIndex(@RequestParam(value = "level", required = false) Integer level, @RequestParam(value = "type") Integer type, @RequestParam(value = "parentId", required = false) Integer parentId, @RequestParam(value = "keyword", required = false) String keyword) {
if (type == null) {
return AjaxResult.error("参数错误,类型不能为空");
}
if (type == 0) {
// 查询全部机具类型
if (level == 0 || level == 1) {
// 查询全部等级一级
List<TreeSelect> treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null,null));
List<TreeSelect> treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null, null));
List<TreeSelect> children = treeSelectList.get(0).getChildren();
TreeSelect zero = new TreeSelect();
zero.setLevel(2);
@ -97,11 +103,11 @@ public class MaTypeController extends BaseController {
}
if (level == 2) {
// 查询二级
if (parentId == 0){
if (parentId == 0) {
List<MaType> maTypes = maTypeMapper.selectMaTypeListByLevelNotFour(null, keyword);
return AjaxResult.success(maTypes);
}else {
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(),keyword));
} else {
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(), keyword));
}
@ -126,12 +132,12 @@ public class MaTypeController extends BaseController {
// 查询施工机具
List<TreeSelect> treeSelectList;
if (level != 2) {
treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null,null));
treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null, null));
// treeSelectList.removeIf(item -> item.getId() == 1L);
//List<TreeSelect> treeSelectList1 = treeSelectList.stream().filter(item -> Objects.equals(item.getId(), 1L)).collect(Collectors.toList());
return AjaxResult.success(treeSelectList);
} else {
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(),keyword));
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(), keyword));
// treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString()));
// // 先过滤出施工机具
// treeSelectList = treeSelectList.stream().filter(item -> Objects.equals(item.getId(), 1L)).collect(Collectors.toList());
@ -154,11 +160,11 @@ public class MaTypeController extends BaseController {
}
}
if (type == 2) {
List<TreeSelect> treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null,null));
List<TreeSelect> treeSelectList = iTypeService.buildDeptTreeSelect(maTypeMapper.selectMaTypeListByLevelNotFour(null, null));
//treeSelectList = treeSelectList.stream().filter(item -> Objects.equals(item.getId(), 2L)).collect(Collectors.toList());
// 查询安全工器具
if (level == 2) {
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(),keyword));
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(parentId.toString(), keyword));
// if (!treeSelectList.isEmpty()) {
// for (TreeSelect treeSelect : treeSelectList) {
// List<TreeSelect> children = treeSelect.getChildren();
@ -175,19 +181,20 @@ public class MaTypeController extends BaseController {
}
return AjaxResult.success(treeSelectList);
}
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(null,null));
return AjaxResult.success(maTypeMapper.selectMaTypeListByLevelNotFour(null, null));
}
/**
* 根据左列表类型id查询右表格
*
* @param typeId
* @return
*/
@ApiOperation(value = "根据左列表类型id查询右表格")
@GetMapping("/getListByMaType")
public AjaxResult getListByMaType(@RequestParam(required = false) Long typeId,
@RequestParam(required = false) String typeName){
List<MaType> listByMaType = iTypeService.getListByParentId(typeId,typeName);
@RequestParam(required = false) String typeName) {
List<MaType> listByMaType = iTypeService.getListByParentId(typeId, typeName);
return success(listByMaType);
}
@ -221,8 +228,7 @@ public class MaTypeController extends BaseController {
*/
@ApiOperation(value = "获取机具类型管理ma_type详细信息")
@GetMapping(value = "/{typeId}")
public AjaxResult getInfo(@PathVariable("typeId") Long typeId)
{
public AjaxResult getInfo(@PathVariable("typeId") Long typeId) {
return success(iTypeService.selectMaTypeByTypeId(typeId));
}
@ -232,8 +238,7 @@ public class MaTypeController extends BaseController {
@ApiOperation(value = "新增机具类型管理ma_type")
@Log(title = "机具类型管理ma_type", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MaType maType)
{
public AjaxResult add(@RequestBody MaType maType) {
return toAjax(iTypeService.insertMaType(maType));
}
@ -243,8 +248,7 @@ public class MaTypeController extends BaseController {
@ApiOperation(value = "修改机具类型管理ma_type")
@Log(title = "机具类型管理ma_type", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MaType maType)
{
public AjaxResult edit(@RequestBody MaType maType) {
return toAjax(iTypeService.updateMaType(maType));
}

View File

@ -37,7 +37,21 @@ public class MaTypeServiceImpl implements ITypeService {
*/
@Override
public MaType selectMaTypeByTypeId(Long typeId) {
return maTypeMapper.selectMaTypeByTypeId(typeId);
MaType maType = maTypeMapper.selectMaTypeByTypeId(typeId);
List<Long> idList = new ArrayList<>();
if (StringUtils.isNotBlank(maType.getKeeperUserIds())) {
String[] idStrings = maType.getKeeperUserIds().split(",");
for (String idString : idStrings) {
try {
Long id = Long.parseLong(idString.trim());
idList.add(id);
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
maType.setKeeperUserId(idList);
return maType;
}
@ -48,21 +62,21 @@ public class MaTypeServiceImpl implements ITypeService {
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public int insertMaType(MaType maType) {
Long parentId = maType.getParentId();
MaType maType1 = maTypeMapper.selectMaTypeByTypeId(parentId);
String level = maType1.getLevel();
maType.setLevel(String.valueOf(Integer.parseInt(level) + 1));
maType.setCreateTime(DateUtils.getNowDate());
int i = maTypeMapper.insertType(maType);
//根据类型名称判重
if (maType.getTypeName() != null && maType.getParentId() != null) {
int num = maTypeMapper.getMaType(maType);
if (num > 0) {
throw new ServiceException("机具类型名称与库中重复,请修改后重新提交!");
if (num > 1) {
throw new RuntimeException("机具类型名称与库中重复,请修改后重新提交!");
}
}
int i = maTypeMapper.insertType(maType);
Long typeId = maType.getTypeId();
// 图片路径保存
if (StringUtils.isNotEmpty(maType.getPhotoName()) && StringUtils.isNotEmpty(maType.getPhotoUrl())) {
@ -112,17 +126,20 @@ public class MaTypeServiceImpl implements ITypeService {
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateMaType(MaType maType) {
int i = 0;
Long typeId = maType.getTypeId();
maType.setUpdateTime(DateUtils.getNowDate());
i = maTypeMapper.updateType(maType);
//根据类型名称判重
if (maType.getTypeName() != null && maType.getParentId() != null) {
int num = maTypeMapper.getMaType(maType);
if (num > 0) {
throw new ServiceException("机具类型名称与库中重复,请修改后重新提交!");
if (num > 1) {
throw new RuntimeException("机具类型名称与库中重复,请修改后重新提交!");
}
}
int i = maTypeMapper.updateType(maType);
// 图片路径保存
if (StringUtils.isNotEmpty(maType.getPhotoName()) && StringUtils.isNotEmpty(maType.getPhotoUrl())) {
typeFileMapper.deleteMaTypeFileByTypeId(typeId, "1");

View File

@ -280,7 +280,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select m.type_id, m.type_name, m.parent_id, m.status, m.num, m.unit_id,m.unit_name, m.manage_type,
m.lease_price, m.eff_time, m.rent_price, m.buy_price, m.pay_price, m.level, m.rated_load, m.test_load,
m.holding_time, m.warn_num, mtf.file_name photoName, mtf.file_url photoUrl,
mtf2.file_name documentName, mtf2.file_url documentUrl, GROUP_CONCAT(mtk.user_id) keeperUserId,
mtf2.file_name documentName, mtf2.file_url documentUrl, GROUP_CONCAT(mtk.user_id) keeperUserIds,
GROUP_CONCAT(su.nick_name) as keeperUserName, mtr.user_id repairUserId, su1.nick_name repairUserName,mpi.prop_id as propId, mpi.prop_name as propName,
m.del_flag, m.create_by, m.create_time,
m.remark, m.company_id,m.fac_model as facModel
@ -337,7 +337,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select m.type_id, m.type_name, m.parent_id, m.status, m.num, m.unit_id, m.unit_name, m.manage_type,
m.lease_price,m.rent_price, m.eff_time, m.buy_price, m.pay_price, m.level, m.rated_load, m.test_load,
m.holding_time, m.warn_num, mtf.file_name photoName, mtf.file_url photoUrl,
mtf2.file_name documentName, mtf2.file_url documentUrl, GROUP_CONCAT(mtk.user_id) keeperUserId,
mtf2.file_name documentName, mtf2.file_url documentUrl, mtk.user_id keeperUserId,
GROUP_CONCAT(su.nick_name) keeperUserName, mpi.prop_name, m.del_flag, m.create_by, m.create_time,
m.remark, m.company_id,m.fac_model as facModel
from ma_type m
@ -417,7 +417,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="getMaType" resultType="java.lang.Integer">
select count(1) from ma_type where parent_id = #{parentId} and type_name = #{typeName}
SELECT
count(1)
FROM
ma_type
WHERE
status = 0 and del_flag = 0
and parent_id = #{parentId} and type_name = #{typeName}
</select>
</mapper>

View File

@ -27,6 +27,10 @@ public class MaWholeVo {
@ApiModelProperty(value = "规格型号")
private String typeModelName;
/** 配套名称 */
@ApiModelProperty(value = "配套名称")
private String wholeTypeName;
/** 套装所需配件数量 */
@ApiModelProperty(value = "套装所需配件数量")
private Integer totalNum;

View File

@ -74,6 +74,7 @@
<select id="selectList" resultType="com.bonus.sgzb.material.domain.MaWholeVo">
SELECT
mws.parent_id AS id,
mws.whole_type_name AS wholeTypeName,
mt2.type_name AS typeName,
mt.type_name AS typeModelName,
SUM(mws.part_num) AS totalNum

View File

@ -417,6 +417,7 @@
filterable
placeholder="请选择库管员"
style="width: 100%"
multiple
>
<el-option
v-for="keeper in keeperList"
@ -821,6 +822,7 @@ export default {
photoName: '',
documentUrl: '',
documentName: '',
keeperUserId: [],
}
this.imageUrl = ''
this.fileList = []

View File

@ -540,10 +540,11 @@ export default {
},
computed: {
pickerOptions() {
// -
const currentDate = new Date(this.maForm.purchaseTime || new Date())
currentDate.setDate(currentDate.getDate() - 1)
return {
disabledDate(time) {
const currentDate = new Date()
currentDate.setHours(0, 0, 0, 0)
return time.getTime() < currentDate.getTime()
},
}

View File

@ -67,6 +67,7 @@
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择采购日期"
@change="changeTimePurchase"
></el-date-picker>
</el-form-item>
<el-form-item label="到货日期" prop="arrivalTime">
@ -74,9 +75,16 @@
v-model="maForm.arrivalTime"
style="width: 240px"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
type="date"
placeholder="请选择到货日期"
:picker-options="{
//
disabledDate: time => {
const currentDate = new Date(maForm.purchaseTime || new Date())
currentDate.setDate(currentDate.getDate() - 1)
return time.getTime() < currentDate.getTime()
}
}"
></el-date-picker>
</el-form-item>
<el-form-item label="采购员" prop="purchaser">
@ -373,17 +381,6 @@ export default {
},
}
},
computed: {
pickerOptions() {
return {
disabledDate(time) {
const currentDate = new Date()
currentDate.setHours(0, 0, 0, 0)
return time.getTime() < currentDate.getTime()
},
}
},
},
// watch: {
// 'maForm.purchaseTime'() {
// if (this.maForm.purchaseTime != '') {
@ -570,15 +567,6 @@ export default {
const arrivalTime =
this.maForm.arrivalTime?.split('-').join('') - 0
if (productionTime > purchaseTime) {
this.$message.error('出厂日期不可在采购日期之后')
return
}
if (productionTime > arrivalTime) {
this.$message.error('出厂日期不可在到货日期之后')
return
}
// console.log(this.maForm,'maForm')
// console.log(this.equipmentList,'equipmentList')
let isEmpty = true
@ -703,6 +691,11 @@ export default {
// ...this.queryParams
// }, `role_${new Date().getTime()}.xlsx`)
},
//
changeTimePurchase() {
//
this.maForm.arrivalTime = ''
},
},
}
</script>