Browse Source

物料属性更新

dev
常熟吴彦祖 3 days ago
parent
commit
147f379132
  1. 17
      src/main/java/com/gaotao/modules/factory/entity/dto/PartAttributeQueryDto.java
  2. 8
      src/main/java/com/gaotao/modules/factory/service/impl/PartAttributeServiceImpl.java
  3. 4
      src/main/resources/mapper/factory/PartAttributeMapper.xml

17
src/main/java/com/gaotao/modules/factory/entity/dto/PartAttributeQueryDto.java

@ -9,12 +9,12 @@ import lombok.Data;
public class PartAttributeQueryDto {
/**
* 当前页
* 页面传入的分页页码,默认第1页,单位为页;不落库,供物料列表分页查询使用 - rqrq
*/
private int page = 1;
/**
* 每页显示条数
* 页面传入的每页记录数,默认10条,单位为条;不落库,供物料列表分页查询使用 - rqrq
*/
private int size = 10;
@ -22,24 +22,29 @@ public class PartAttributeQueryDto {
* 页面显式传入当前大site,查询其配置的小site资料并兼容原站点记录;仅作查询条件不落库,供物料维护列表使用 - rqrq
*/
private String site;
/**
* 页面子工厂下拉选择的site编码,空值表示当前工厂全部子site;仅作查询条件不落库、无单位,由Service校验归属后供物料列表精确筛选 - rqrq
*/
private String subSite;
/**
* 料号(支持模糊查询)
* 页面输入的料号关键字,空值不限制、非空模糊匹配;无单位、不落库,供物料列表筛选使用 - rqrq
*/
private String partNo;
/**
* 是否进立库 (Y/N)
* 页面选择的是否进立库标记,Y为是、N为否、空值为全部;无单位、不落库,供物料列表筛选使用 - rqrq
*/
private String isInWh;
/**
* 是否机械手臂拣选 (Y/N)
* 页面选择的机械手臂拣选标记,Y为是、N为否、空值为全部;无单位、不落库,供物料列表筛选使用 - rqrq
*/
private String isRobotPick;
/**
* 是否常用 (Y/N)
* 页面选择的常用物料标记,Y为是、N为否、空值为全部;无单位、不落库,供物料列表筛选使用 - rqrq
*/
private String isCommonlyUsed;
}

8
src/main/java/com/gaotao/modules/factory/service/impl/PartAttributeServiceImpl.java

@ -49,6 +49,14 @@ public class PartAttributeServiceImpl extends ServiceImpl<PartAttributeMapper, P
throw new XJException("查询物料资料必须指定当前工厂");
}
queryDto.setSite(queryDto.getSite().trim());
// 子工厂为空时保留全部查询;传入编码先去空白,禁止借筛选条件读取其他工厂的资料 - rqrq
queryDto.setSubSite(queryDto.getSubSite() == null ? "" : queryDto.getSubSite().trim());
if (!queryDto.getSubSite().isEmpty()) {
// 按当前大site与所选子site核对配置归属,未配置或跨工厂时中止查询,避免伪造下拉参数 - rqrq
if (siteMapper.selectSiteSubDataByKey(queryDto.getSite(), queryDto.getSubSite()) == null) {
throw new XJException("所选子工厂不属于当前工厂,请重新选择");
}
}
// 以请求工厂查询其小site资料并兼容原站点记录,分页查询失败直接抛出,不返回其他工厂数据 - rqrq
IPage<PartAttribute> page = partAttributeMapper.getPartAttributeList(
new Page<>(queryDto.getPage(), queryDto.getSize()), queryDto);

4
src/main/resources/mapper/factory/PartAttributeMapper.xml

@ -38,6 +38,10 @@
)
)
</if>
<!-- 子工厂筛选与当前工厂范围取交集,清空时返回全部;参数绑定避免拼接,保留site+料号分页主键 - rqrq -->
<if test="params.subSite != null and params.subSite != ''">
AND part_attribute.site = #{params.subSite}
</if>
<if test="params.partNo != null and params.partNo != ''">
AND part_no LIKE CONCAT('%', #{params.partNo}, '%')
</if>

Loading…
Cancel
Save