现场需求fix

This commit is contained in:
psh
2024-04-29 16:46:28 +08:00
parent 2ba50d5b31
commit d2e51a44e0
23 changed files with 635 additions and 24 deletions

View File

@@ -11,15 +11,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.logging.annotation.Log;
import org.nl.common.utils.RsaUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.dto.CurrentUser;
import org.nl.config.RsaProperties;
import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.secutiry.dto.AuthUserDto;
import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dao.SysUser;
import org.nl.system.service.user.dao.mapper.SysUserMapper;
import org.nl.system.service.user.dto.SysUserDetail;
import org.nl.system.service.user.dto.UserQuery;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.springframework.beans.factory.annotation.Autowired;
@@ -49,7 +55,6 @@ public class MobileAuthorizationController {
private ISysUserService userService;
@Autowired
private ISysRoleService roleService;
@ApiOperation("登录授权")
@PostMapping(value = "/login")
@SaIgnore
@@ -63,9 +68,9 @@ public class MobileAuthorizationController {
if (ObjectUtil.isEmpty(userInfo) || !userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密
throw new BadRequestException("账号或密码错误!");
}
// 获取权限列表 - 登录查找权限
List<String> permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo));
if (!userInfo.getIs_used()) {
throw new BadRequestException("账号未激活");
}
@@ -83,14 +88,25 @@ public class MobileAuthorizationController {
.setDevice("PE") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型
.setExtra("loginInfo", user) // Token挂载的扩展参数 此方法只有在集成jwt插件时才会生效
);
UserQuery query=new UserQuery();
query.setBlurry(user.getUsername());
PageQuery page=new PageQuery();
List<SysUserDetail> userDetail = userService.getUserDetail(query, page);
String roles="";
for(SysRole role:userDetail.get(0).getRoles()){
if(ObjectUtil.isNotEmpty(role.getRemark())){
roles+=role.getRemark()+',';
}
}
// 返回 token 与 用户信息
JSONObject jsonObject = new JSONObject();
// jsonObject.put("roles", permissionList);
jsonObject.put("user", userInfo);
String finalRoles = roles;
JSONObject authInfo = new JSONObject(2) {{
put("token", "Bearer " + StpUtil.getTokenValue());
put("user", jsonObject);
put("roles", finalRoles);
}};
return ResponseEntity.ok(authInfo);

View File

@@ -58,6 +58,7 @@
</collection>
<collection property="roles" ofType="org.nl.system.service.role.dao.SysRole">
<id property="role_id" column="role_id"/>
<id property="remark" column="remark"/>
</collection>
</resultMap>
<select id="getUserDetail" resultMap="UserDetail">
@@ -66,11 +67,13 @@
,sys_dept.dept_id
,sys_dept.name as dept_name
,sys_users_roles.role_id
,sys_role.remark
FROM
sys_user
left join sys_user_dept on sys_user.user_id = sys_user_dept.user_id
left join sys_users_roles on sys_users_roles.user_id = sys_user.user_id
left join sys_dept on sys_user_dept.dept_id = sys_dept.dept_id
left join sys_role on sys_users_roles.role_id = sys_role.create_id
<where>
<if test="query.dept_id != null">
and

View File

@@ -6,4 +6,6 @@ import lombok.Data;
public class WuliaoDto {
String name;
String number;
String percentage;
}

View File

@@ -121,10 +121,17 @@
<select id="wuliao" resultType="org.nl.wms.board.service.dao.dto.WuliaoDto">
select productDescription as name,count(*) as number
from sch_base_material
GROUP BY productDescription
limit 5
SELECT
a.NAME,
a.number,
FLOOR( a.number / b.sum * 100 ) AS percentage
FROM
( SELECT productDescription AS NAME, count(*) AS number FROM sch_base_material GROUP BY productDescription ) a,(
SELECT
count(*) AS sum
FROM
sch_base_material
) b
</select>
<select id="cz" resultType="org.nl.wms.board.service.dao.dto.CzDto">

View File

@@ -65,9 +65,11 @@ public class MesController {
qpmes060Response.setHEAD(head);
try {
Material material = new Material();
material.copyFrom(notice.toJavaObject(QPMES060Request.class).getBODY().get(0));
material.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
materialMapper.insert(material);
for(QPMES060RequestBody QPMES060RequestBody:notice.toJavaObject(QPMES060Request.class).getBODY()) {
material.copyFrom(QPMES060RequestBody);
material.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
materialMapper.insert(material);
}
qpmes060ResponseBody.setMESSAGE("原材料入库成功");
qpmes060ResponseBody.setSTATUS("S");
qpmes060ResponseBodyArrayList.add(qpmes060ResponseBody);

View File

@@ -54,6 +54,7 @@ public class PdaController {
public ResponseEntity<Object> queryPoint(@RequestBody Map<String, String> whereJson) {
SchBasePoint region = new SchBasePoint();
region.setRegion_code(whereJson.get("region_code"));
region.setPoint_code(whereJson.get("point_code"));
return new ResponseEntity<>(pointService.getPointList(region), HttpStatus.OK);
}

View File

@@ -1,6 +0,0 @@
<?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="org.nl.wms.sch.material.service.dao.mapper.MaterialMapper">
</mapper>

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.point.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -7,6 +8,11 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.common.utils.SecurityUtils;
import org.nl.system.service.role.dao.SysRole;
import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dto.SysUserDetail;
import org.nl.system.service.user.dto.UserQuery;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +21,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@@ -29,13 +37,26 @@ public class SchBasePointController {
@Autowired
private ISchBasePointService schBasePointService;
@Autowired
private ISysUserService userService;
@GetMapping
@Log("查询点位管理")
@ApiOperation("查询点位管理")
//@SaCheckPermission("@el.check('schBasePoint:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page)),HttpStatus.OK);
String userName=SecurityUtils.getCurrentUsername();
UserQuery query=new UserQuery();
query.setBlurry(userName);
PageQuery pageQuery=new PageQuery();
List<SysUserDetail> userDetail = userService.getUserDetail(query, pageQuery);
List<String> roles=new ArrayList();
for(SysRole role:userDetail.get(0).getRoles()){
if(ObjectUtil.isNotEmpty(role.getRemark())){
roles.add(role.getRemark());
}
}
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page,roles)),HttpStatus.OK);
}
@PostMapping

View File

@@ -23,7 +23,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
* @param pageable 分页参数
* @return IPage<SchBasePoint>
*/
IPage<SchBasePoint> queryAll(Map whereJson, PageQuery pageable);
IPage<SchBasePoint> queryAll(Map whereJson, PageQuery pageable,List<String> roles);
/**
* 创建

View File

@@ -150,4 +150,9 @@ public class SchBasePoint implements Serializable {
@ApiModelProperty(value = "放货等待点")
private String next_wait_point;
// @ApiModelProperty(value = "物料名称")
// private String product_description;
//
// @ApiModelProperty(value = "供应商名称")
// private String supplier_name;
}

View File

@@ -46,7 +46,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
private SchBaseRegionMapper regionMapper;
@Override
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page){
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page,List<String> roles){
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null;
String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code")) ? whereJson.get("workshop_code").toString() : null;
String region_code = ObjectUtil.isNotEmpty(whereJson.get("region_code")) ? whereJson.get("region_code").toString() : null;
@@ -59,6 +59,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
lam.like(ObjectUtil.isNotEmpty(blurry), SchBasePoint::getPoint_code, blurry)
// .or(ObjectUtil.isNotEmpty(blurry), lam1 -> lam1.like(SchBasePoint::getPoint_name, blurry))
.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code)
.in(ObjectUtil.isNotEmpty(roles),SchBasePoint::getWorkshop_code,roles)
.eq(ObjectUtil.isNotEmpty(region_code), SchBasePoint::getRegion_code, region_code)
.eq(ObjectUtil.isNotEmpty(point_type), SchBasePoint::getPoint_type, point_type)
.eq(ObjectUtil.isNotEmpty(point_status), SchBasePoint::getPoint_status, point_status)
@@ -182,6 +183,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
if (ObjectUtil.isEmpty(region)) return this.list();
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, region.getRegion_code())
.like(region.getPoint_code()!=null,SchBasePoint::getPoint_code, region.getPoint_code())
.eq(SchBasePoint::getIs_has_workder, 1));
}

View File

@@ -0,0 +1,35 @@
package org.nl.wms.sch.report;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.sch.report.service.IReportService;
import org.nl.wms.sch.report.service.dto.ReportQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@Api(tags = "报表管理")
@RequestMapping("/api/report")
public class ReportController {
@Autowired
private IReportService reportService;
@GetMapping
@Log("查询组盘信息管理")
@ApiOperation("查询组盘信息管理")
//@SaCheckPermission("@el.check('material:list')")
public ResponseEntity<Object> query(ReportQuery whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(reportService.queryAll(whereJson,page)),HttpStatus.OK);
}
}

View File

@@ -0,0 +1,20 @@
package org.nl.wms.sch.report.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.sch.report.service.dto.ReportDto;
import org.nl.wms.sch.report.service.dto.ReportQuery;
public interface IReportService extends IService<ReportDto> {
/**
* 查询数据分页
* @param whereJson 条件
* @param pageable 分页参数
* @return IPage<Material>
*/
IPage<ReportDto> queryAll(ReportQuery whereJson, PageQuery pageable);
}

View File

@@ -0,0 +1,23 @@
package org.nl.wms.sch.report.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.nl.wms.sch.report.service.dto.ReportDto;
import org.nl.wms.sch.report.service.dto.ReportQuery;
import java.util.List;
/**
* @author lyd
* @date 2023-05-16
**/
public interface ReportMapper extends BaseMapper<ReportDto> {
/**
* 分页查找
* @return
*/
IPage<ReportDto> queryReport(IPage<ReportDto> pages, ReportQuery query);
}

View File

@@ -0,0 +1,26 @@
<?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="org.nl.wms.sch.report.service.dao.mapper.ReportMapper">
<select id="queryReport" resultType="org.nl.wms.sch.report.service.dto.ReportDto">
SELECT
p.point_code as pointCode,
m.productDescription,
m.supplierName
FROM
sch_base_point p
LEFT JOIN sch_base_material m ON p.vehicle_code2 = m.lotSN
WHERE
region_code IN ( 'HW', 'HWK' )
AND vehicle_code2 IS NOT NULL
AND vehicle_code2 != ''
<if test="query.supplierName != null">
and m.supplierName like CONCAT('%', #{query.supplierName}, '%')
</if>
<if test="query.productDescription != null">
and m.productDescription like CONCAT('%', #{query.productDescription}, '%')
</if>
ORDER BY point_code ASC
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
package org.nl.wms.sch.report.service.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class ReportDto implements Serializable {
/** 点位编码 */
private String pointCode;
/** 物料名称 */
private String productDescription;
/** 供应商名称 */
private String supplierName;
}

View File

@@ -0,0 +1,23 @@
package org.nl.wms.sch.report.service.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class ReportQuery implements Serializable {
//托盘号
private String palletSN;
//物料条码号
private String lotSN;
//物料名称
private String productName;
//供应商编码
private String productDescription;
//供应商编码
private String supplierCode;
//供应商名称
private String supplierName;
//绑定状态
private String group_bind_material_status;
}

View File

@@ -0,0 +1,40 @@
package org.nl.wms.sch.report.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.nl.wms.sch.material.service.dao.Material;
import org.nl.wms.sch.material.service.dao.mapper.MaterialMapper;
import org.nl.wms.sch.report.service.IReportService;
import org.nl.wms.sch.report.service.dao.mapper.ReportMapper;
import org.nl.wms.sch.report.service.dto.ReportDto;
import org.nl.wms.sch.report.service.dto.ReportQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.nl.common.utils.PageUtil;
import java.util.List;
@Slf4j
@Service
public class ReportServiceImpl extends ServiceImpl<ReportMapper, ReportDto> implements IReportService {
@Autowired
private ReportMapper reportMapper;
@Override
public IPage<ReportDto> queryAll(ReportQuery query, PageQuery pageQuery){
IPage<ReportDto> pages = new Page<>(pageQuery.getPage() + 1, pageQuery.getSize());
pages = reportMapper.queryReport(pages, query);
return pages;
}
}

View File

@@ -243,16 +243,19 @@ public class YCLCKTask extends AbstractTask {
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
qpmes065Request.setHEAD(head);
QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
double qty=0;
for(Material material:materialList) {
QPMES065RequestBody qpmes065RequestBody=new QPMES065RequestBody();
qpmes065RequestBody.setMoname(extGroupData.getString("workorder_code"));
qpmes065RequestBody.setLotSN(material.getPalletSN());
qpmes065RequestBody.setQty(String.valueOf(one.getMaterial_qty()));
qty+=Double.parseDouble(material.getQty());
qpmes065RequestBody.setSiteName(material.getLocationCode());
qpmes065RequestBody.setZXXV01(extGroupData.getString("workorder_code")!=null?"1":"0");
qpmes065RequestBody.setZXXV02(taskObj.getVehicle_code());
qpmes065RequestBodyList.add(qpmes065RequestBody);
}
qpmes065RequestBody.setQty(String.valueOf(qty));
qpmes065RequestBodyList.add(qpmes065RequestBody);
qpmes065Request.setBODY(qpmes065RequestBodyList);
log.info("开始调用QPMES065服务入参{}",JSON.toJSONString(qpmes065Request));
String resultMsg = HttpRequest.post(url)