BOM同步修改,质量任务查询时间改为72小时,质量看板

master
杨万里 1 week ago
parent 22f8e1ab2a
commit 1cb1fdd2a2

@ -140,7 +140,7 @@ public class QcInterfaceController {
}
/**
* -
* -
*
* @param qcInterface
* @return

@ -103,7 +103,7 @@
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = 'checkTypeSCXJ' and qct.check_status = '2'
where qct.check_type = 'checkTypeCPPC' and qct.check_status = '2'
and (
CONVERT(varchar(10),qct.create_time, 120) >= SUBSTRING(#{productDateStart},0,11)
and
@ -219,6 +219,9 @@
from qc_check_task qct
where qct.type_code = #{typeCode}
and qct.del_flag='0'
<if test='checkType != null'>
AND check_type = #{checkType}
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.income_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
@ -274,7 +277,7 @@
qct.sample_quality quality,
qct.noOk_quality
from qc_check_task qct
where qct.check_type = 'checkTypeSCXJ'
where qct.check_type = 'checkTypeCPPC'
and qct.del_flag='0'
and CONVERT(varchar(4),qct.income_time, 120) in (${ymd})
) t
@ -348,8 +351,7 @@
left join qc_check_type qc on qc.order_code = qct.check_type and qc.del_flag = '0'
left join qc_defect_type_class qdtc on qdtc.id = qct.remark_code
left join qc_defect_type qdt on qdt.defect_id = qdtc.defect_id
where qct.type_code = #{typeCode} and qctd.status = 'N'
where qct.check_type IN ('checkTypeCPPC','checkTypeCPCJ','checkTypeCP','checkTypeSC','checkTypeLL') and qctd.status = 'N'
and (
CONVERT(varchar(10),qct.income_time, 120) >= SUBSTRING(#{productDateStart},0,11)
and

@ -287,7 +287,7 @@
)
</if>
<if test='delFlag == "0" and checkType!="checkTypeCP"'>
and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120))
and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -3, GETDATE()), 120))
</if>
<if test='delFlag == "0" and checkType=="checkTypeCP"'>
and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -15, GETDATE()), 120))

@ -2,6 +2,8 @@ package com.op.sap.mapper;
import com.op.system.api.domain.sap.SapBomComponent;
import java.util.List;
/**
* BOMMapper
*
@ -20,4 +22,7 @@ public interface SapBomComponentMapper {
public int insertSapBomComponent(SapBomComponent sapBomComponent);
public int deleteSapBomComponentByBomCode(String bomCode);
}

@ -13,7 +13,7 @@ public interface SapBomMapper {
/**
* BOM
*/
List<SapBom> selectBaseBomByBomCode(String bomCode);
SapBom selectBaseBomByBomCode(String bomCode);
public int insertBaseBom(SapBom sapBom);
@ -52,4 +52,6 @@ public interface SapBomMapper {
Date getRouteMaxTime();
Date getBomMaxTime();
int updateBaseBom(SapBom sapBom);
}

@ -8,5 +8,4 @@ import com.op.system.api.domain.sap.SapBom;
public interface SapBomService {
public R bomSync(SapBomQuery sapBomQuery);
SapBom getMaxRevisionBom(String STLNR);
}

@ -70,7 +70,6 @@
<insert id="insertSapBomComponent" parameterType="com.op.system.api.domain.sap.SapBomComponent">
insert into base_bom_component
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="bomBo != null">bom_bo,</if>
<if test="bomCode != null and bomCode != ''">bom_code,</if>
<if test="site != null">site,</if>
@ -97,7 +96,6 @@
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="bomBo != null">#{bomBo},</if>
<if test="bomCode != null and bomCode != ''">#{bomCode},</if>
<if test="site != null">#{site},</if>
@ -165,4 +163,7 @@
#{id}
</foreach>
</delete>
<delete id="deleteSapBomComponentByBomCode">
delete from base_bom_component where bom_code = #{bomCode}
</delete>
</mapper>

@ -70,7 +70,6 @@
<select id="selectBaseBomByBomCode" parameterType="String" resultMap="BaseBomResult">
<include refid="selectBaseBomVo"/>
where bom_code = #{bomCode}
order by production_version desc
</select>
<select id="getMaxTime" resultType="java.util.Date">
select max(create_time) from sys_factory where create_by = 'job'
@ -147,60 +146,39 @@
</insert>
<insert id="insertBaseBomBatch">
insert into base_bom
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.bomBo != null">bom_bo,</if>
<if test="item.factoryCode != null">factory_code,</if>
<if test="item.productionVersion != null">production_version,</if>
<if test="item.bomCode != null">bom_code,</if>
<if test="item.optionalBom != null">optional_bom,</if>
<if test="item.optionalBomText != null">optional_bom_text,</if>
<if test="item.pvvd != null">pvvd,</if>
<if test="item.pved != null">pved,</if>
<if test="item.bomCalculateNumber != null">bom_calculate_number,</if>
<if test="item.bomCalculateUnit != null">bom_calculate_unit,</if>
<if test="item.bomBaseNumber != null">bom_base_number,</if>
<if test="item.bomBaseUnit != null">bom_base_unit,</if>
<if test="item.componentUnit != null">component_unit,</if>
<if test="item.componentProFlag != null">component_pro_flag,</if>
<if test="item.msi != null">msi,</if>
<if test="item.sanka != null">sanka,</if>
<if test="item.attr1 != null">attr1,</if>
<if test="item.attr2 != null">attr2,</if>
<if test="item.attr3 != null">attr3,</if>
<if test="item.createBy != null">create_by,</if>
<if test="item.createTime != null">create_time,</if>
<if test="item.updateBy != null">update_by,</if>
<if test="item.updateTime != null">update_time,</if>
<if test="item.remark != null">remark,</if>
<if test="item.currentVersion != null">current_version,</if>
</trim>
([factory_code], [production_version], [bom_code], [optional_bom], [pvvd], [pved],
[bom_calculate_number], [bom_calculate_unit], [bom_base_number], [bom_base_unit],
[component_pro_flag], [create_by], [create_time], [update_by],
[update_time])
VALUES
<foreach collection="list" index="index" item="item" separator=",">
<if test="item.bomBo != null">#{bomBo},</if>
<if test="item.factoryCode != null">#{factoryCode},</if>
<if test="item.productionVersion != null">#{productionVersion},</if>
<if test="item.bomCode != null">#{bomCode},</if>
<if test="item.optionalBom != null">#{optionalBom},</if>
<if test="item.optionalBomText != null">#{optionalBomText},</if>
<if test="item.pvvd != null">#{pvvd},</if>
<if test="item.pved != null">#{pved},</if>
<if test="item.bomCalculateNumber != null">#{bomCalculateNumber},</if>
<if test="item.bomCalculateUnit != null">#{bomCalculateUnit},</if>
<if test="item.bomBaseNumber != null">#{bomBaseNumber},</if>
<if test="item.bomBaseUnit != null">#{bomBaseUnit},</if>
<if test="item.componentUnit != null">#{componentUnit},</if>
<if test="item.componentProFlag != null">#{componentProFlag},</if>
<if test="item.msi != null">#{msi},</if>
<if test="item.sanka != null">#{sanka},</if>
<if test="item.attr1 != null">#{attr1},</if>
<if test="item.attr2 != null">#{attr2},</if>
<if test="item.attr3 != null">#{attr3},</if>
<if test="item.createBy != null">#{createBy},</if>
<if test="item.createTime != null">#{createTime},</if>
<if test="item.updateBy != null">#{updateBy},</if>
<if test="item.updateTime != null">#{updateTime},</if>
<if test="item.remark != null">#{remark},</if>
<if test="item.currentVersion != null">#{currentVersion},</if>
<foreach collection="list" item="item" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.bomBo != null">#{item.bomBo},</if>
<if test="item.factoryCode != null">#{item.factoryCode},</if>
<if test="item.productionVersion != null">#{item.productionVersion},</if>
<if test="item.bomCode != null">#{item.bomCode},</if>
<if test="item.optionalBom != null">#{item.optionalBom},</if>
<if test="item.optionalBomText != null">#{item.optionalBomText},</if>
<if test="item.pvvd != null">#{item.pvvd},</if>
<if test="item.pved != null">#{item.pved},</if>
<if test="item.bomCalculateNumber != null">#{item.bomCalculateNumber},</if>
<if test="item.bomCalculateUnit != null">#{item.bomCalculateUnit},</if>
<if test="item.bomBaseNumber != null">#{item.bomBaseNumber},</if>
<if test="item.bomBaseUnit != null">#{item.bomBaseUnit},</if>
<if test="item.componentUnit != null">#{item.componentUnit},</if>
<if test="item.componentProFlag != null">#{item.componentProFlag},</if>
<if test="item.msi != null">#{item.msi},</if>
<if test="item.sanka != null">#{item.sanka},</if>
<if test="item.attr1 != null">#{item.attr1},</if>
<if test="item.attr2 != null">#{item.attr2},</if>
<if test="item.attr3 != null">#{item.attr3},</if>
<if test="item.createBy != null">#{item.createBy},</if>
<if test="item.createTime != null">#{item.createTime},</if>
<if test="item.updateBy != null">#{item.updateBy},</if>
<if test="item.updateTime != null">#{item.updateTime},</if>
<if test="item.remark != null">#{item.remark},</if>
<if test="item.currentVersion != null">#{item.currentVersion},</if>
</trim>
</foreach>
</insert>
@ -231,7 +209,7 @@
<if test="remark != null">remark = #{remark},</if>
<if test="currentVersion != null">current_version = #{currentVersion},</if>
</trim>
where factory_code = #{factoryCode}
where bom_bo = #{bomBo}
</update>
<!--批量更新工厂建模表-->
<update id="updateFactoryBatchs">

@ -44,7 +44,12 @@ public class BaseBomComponentController extends BaseController {
List<BaseBomComponent> list = baseBomComponentService.selectBaseBomComponentList(baseBomComponent);
return getDataTable(list);
}
@RequiresPermissions("wms:bomComponent:list")
@GetMapping("/getBomList")
public List<BaseBomComponent> getBomList(BaseBomComponent baseBomComponent) {
List<BaseBomComponent> list = baseBomComponentService.selectBaseBomComponentList(baseBomComponent);
return list;
}
/**
* BOM
*/

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -35,6 +36,16 @@ public class BaseBomController extends BaseController {
@Autowired
private IBaseBomService baseBomService;
// /**
// * 查询BOM物料管理列表
// */
// @RequiresPermissions("wms:bom:list")
// @GetMapping("/list")
// public TableDataInfo list(BaseBom baseBom) {
// startPage();
// List<BaseBom> baseBoms = baseBomService.selectBaseBomList(baseBom);
// return getDataTable(baseBoms);
// }
/**
* BOM
*/
@ -45,7 +56,6 @@ public class BaseBomController extends BaseController {
List<BaseBom> baseBoms = baseBomService.selectBaseBomList(baseBom);
return getDataTable(baseBoms);
}
/**
* BOM
*/

@ -1,6 +1,8 @@
package com.op.wms.domain;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;

@ -1,5 +1,6 @@
package com.op.wms.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -41,6 +42,8 @@ public class BaseBomComponent extends BaseEntity {
@Excel(name = "物料编码")
private String productCode;
private String productDescZh;
/**
*
*/
@ -131,6 +134,24 @@ public class BaseBomComponent extends BaseEntity {
@Excel(name = "预留字段3")
private String attr3;
private BigDecimal totalStorage;
public BigDecimal getTotalStorage() {
return totalStorage;
}
public void setTotalStorage(BigDecimal totalStorage) {
this.totalStorage = totalStorage;
}
public String getProductDescZh() {
return productDescZh;
}
public void setProductDescZh(String productDescZh) {
this.productDescZh = productDescZh;
}
private List<BaseBomComponent> children;
public List<BaseBomComponent> getChildren() {

@ -25,7 +25,7 @@ public interface BaseBomMapper {
* @param baseBom BOM
* @return BOM
*/
public List<BaseBom> selectBaseBomList0(BaseBom baseBom);
public List<BaseBom> selectBaseBomList(BaseBom baseBom);
public List<BaseBom> selectBaseBomList1(BaseBom baseBom);

@ -88,22 +88,8 @@ public class BaseBomComponentServiceImpl implements IBaseBomComponentService {
@Override
@DS("#header.poolName")
public List<BaseBomComponent> selectBaseBomComponentList(BaseBomComponent baseBomComponent) {
List<BaseBomComponent> trees = new ArrayList<>();//新创建
List<BaseBomComponent> baseBomComponentList = baseBomComponentMapper.selectBaseBomComponentList(baseBomComponent);//查询baseBomComponent
List<String> filterBaseBomComponentList = baseBomComponentMapper.selectBomCodeList(baseBomComponent);//查询BomCodeList
List<String> filterCumcList = baseBomComponentMapper.selectProductCodeList(baseBomComponent);//查询BomCodeList
//查询cumc 是否存在于product_code
for (BaseBomComponent tree : baseBomComponentList) {
//找出父节点
boolean bool1 = filterBaseBomComponentList.contains(tree.getBomCode());//查询父节点是否在bom表中
boolean bool2 = filterCumcList.contains(tree.getCumc());//查询节点是否是父节点
// if (bool1 && bool2) {
if (bool1) {
// 调用递归方法填充子节点列表
trees.add(findChildren(tree, baseBomComponentList));//找到孩子节点
}
}
return trees;
return baseBomComponentList;
}
/**

@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.system.api.domain.SysUser;
import com.op.wms.mapper.BaseBomComponentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -46,50 +47,55 @@ public class BaseBomServiceImpl implements IBaseBomService {
@Override
@DS("#header.poolName")
public List<BaseBom> selectBaseBomList(BaseBom baseBom) {
// 管理员显示所有菜单信息
List<BaseBom> bomList= baseBomMapper.selectBaseBomList(baseBom);
return bomList;
}
//bom表
//主表 第0层
if (baseBom.getBomHierarchy().equals("0")) {
List<BaseBom> list = baseBomMapper.selectBaseBomList0(baseBom);
//判断 是否有HasChildren
for (BaseBom baseBom1 : list) {
if (baseBom1.getNumber() > 1) {
baseBom1.setHasChildren(Boolean.TRUE);
} else {
baseBom1.setHasChildren(Boolean.FALSE);
}
}
return list;
} else if (baseBom.getBomHierarchy().equals("1")) {
List<BaseBom> list = baseBomMapper.selectBaseBomList1(baseBom);
for (BaseBom baseBom1 : list) {
if (baseBom1.getHandle() == null) {
baseBom1.setHandle(IdUtils.fastSimpleUUID());
}
Integer childNodes = baseBomMapper.selectChildNodes(baseBom1);
if (childNodes > 0) {
baseBom1.setHasChildren(Boolean.TRUE);
} else {
baseBom1.setHasChildren(Boolean.FALSE);
}
}
return list;
} else {
//2层以及以上 多条list
List<BaseBom> list = baseBomMapper.selectBaseBomList2(baseBom);
for (BaseBom baseBom1 : list) {
if (baseBom1.getHandle() == null) {
baseBom1.setHandle(IdUtils.fastSimpleUUID());
}
Integer childNodes = baseBomMapper.selectChildNodes(baseBom1);
if (childNodes > 0) {
baseBom1.setHasChildren(Boolean.TRUE);
} else {
baseBom1.setHasChildren(Boolean.FALSE);
}
}
return list;
}
}
// if (baseBom.getBomHierarchy().equals("0")) {
// List<BaseBom> list = baseBomMapper.selectBaseBomList0(baseBom);
// //判断 是否有HasChildren
// for (BaseBom baseBom1 : list) {
// if (baseBom1.getNumber() > 1) {
// baseBom1.setHasChildren(Boolean.TRUE);
// } else {
// baseBom1.setHasChildren(Boolean.FALSE);
// }
// }
// return list;
// } else if (baseBom.getBomHierarchy().equals("1")) {
// List<BaseBom> list = baseBomMapper.selectBaseBomList1(baseBom);
// for (BaseBom baseBom1 : list) {
// if (baseBom1.getHandle() == null) {
// baseBom1.setHandle(IdUtils.fastSimpleUUID());
// }
// Integer childNodes = baseBomMapper.selectChildNodes(baseBom1);
// if (childNodes > 0) {
// baseBom1.setHasChildren(Boolean.TRUE);
// } else {
// baseBom1.setHasChildren(Boolean.FALSE);
// }
// }
// return list;
// } else {
// //2层以及以上 多条list
// List<BaseBom> list = baseBomMapper.selectBaseBomList2(baseBom);
// for (BaseBom baseBom1 : list) {
// if (baseBom1.getHandle() == null) {
// baseBom1.setHandle(IdUtils.fastSimpleUUID());
// }
// Integer childNodes = baseBomMapper.selectChildNodes(baseBom1);
// if (childNodes > 0) {
// baseBom1.setHasChildren(Boolean.TRUE);
// } else {
// baseBom1.setHasChildren(Boolean.FALSE);
// }
// }
// return list;
// }
// }
/**
* BOM

@ -9,6 +9,7 @@
<result property="bomCode" column="bom_code"/>
<result property="site" column="site"/>
<result property="productCode" column="product_code"/>
<result property="productDescZh" column="product_desc_zh"/>
<result property="cumc" column="cumc"/>
<result property="component" column="component"/>
<result property="bomHierarchy" column="bom_hierarchy"/>
@ -29,18 +30,56 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="totalStorage" column="total_storage"/>
</resultMap>
<sql id="selectBaseBomComponentVo">
select handle, bom_code, site, product_code, cumc, component, bom_hierarchy, project_no, standard_dosage, loss_rate, loss_amount, cilosses, component_unit, component_pro_flag, msi, sanka, attr1, attr2, attr3, create_by, create_time, update_by, update_time, remark from base_bom_component
</sql>
SELECT
bbc.handle,
bbc.bom_code,
bbc.site,
bbc.product_code,
bp.product_desc_zh,
bbc.cumc,
bbc.component,
bbc.bom_hierarchy,
bbc.project_no,
bbc.standard_dosage,
bbc.loss_rate,
bbc.loss_amount,
bbc.cilosses,
bbc.component_unit,
bbc.component_pro_flag,
bbc.msi,
bbc.sanka,
bbc.attr1,
bbc.attr2,
bbc.attr3,
bbc.create_by,
bbc.create_time,
bbc.update_by,
bbc.update_time,
bbc.remark,
COALESCE(T.SUM_CLABS, 0) AS total_storage
FROM
base_bom_component bbc
LEFT JOIN
base_product bp ON bbc.component = RIGHT(bp.product_code, 11)
LEFT JOIN
(SELECT MATNR, SUM(CLABS) AS SUM_CLABS FROM sap_ods_mate_storage_news GROUP BY MATNR) T
ON
bp.product_code = T.MATNR
</sql>
<select id="selectBaseBomComponentList" parameterType="BaseBomComponent" resultMap="BaseBomComponentResult">
<include refid="selectBaseBomComponentVo"/>
<where>
<if test="bomCode != null and bomCode != ''">and bom_code = #{bomCode}</if>
<if test="site != null and site != ''">and site = #{site}</if>
<if test="productCode != null and productCode != ''">and product_code = #{productCode}</if>
<if test="productCode != null and productCode != ''">and bbc.product_code = #{productCode}</if>
<if test="cumc != null and cumc != ''">and cumc = #{cumc}</if>
<if test="component != null and component != ''">and component = #{component}</if>
<if test="bomHierarchy != null and bomHierarchy != ''">and bom_hierarchy = #{bomHierarchy}</if>
@ -59,6 +98,7 @@
<if test="attr2 != null and attr2 != ''">and attr2 = #{attr2}</if>
<if test="attr3 != null and attr3 != ''">and attr3 = #{attr3}</if>
</where>
order by project_no asc
</select>
<select id="selectBaseBomComponentById" parameterType="Long" resultMap="BaseBomComponentResult">

@ -30,33 +30,45 @@
<result property="remark" column="remark"/>
<result property="currentVersion" column="current_version"/>
</resultMap>
<sql id="selectBaseBomVo">
select factory_code, production_version, bom_code, optional_bom, optional_bom_text, pvvd, pved, bom_calculate_number, bom_calculate_unit, bom_base_number, bom_base_unit, component_unit, component_pro_flag, msi, sanka, attr1, attr2, attr3, create_by, create_time, update_by, update_time, remark, current_version from base_bom
</sql>
<select id="selectBaseBomList0" parameterType="BaseBom" resultType="com.op.wms.domain.BaseBom">
select
count(bb.bom_bo) AS number,
bbc.bom_code as bomCode,
bb.bom_bo as handle,
b1.product_desc_zh as productDescZh,
bbc.product_code as productCode
from base_bom_component bbc
left join base_product b1 on right(b1.product_code,11) = bbc.product_code
left join base_bom bb on bb.bom_code = bbc.bom_code
left join base_product bp on right(bp.product_code,11) = bbc.component
<select id="selectBaseBomList" parameterType="BaseBom" resultMap="BaseBomResult">
<include refid="selectBaseBomVo"/>
<where>
<if test="bomCode != null and bomCode != ''">and bbc.bom_code like concat('%', #{bomCode}, '%')</if>
<if test="productDescZh != null and productDescZh != ''">and b1.product_desc_zh like concat('%',
#{productDescZh}, '%')
<if test="bomCode != null and bomCode != ''">and bom_code = #{bomCode}</if>
<if test="attr1 != null and attr1 != ''">and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''">and attr2 = #{attr2}</if>
<if test="attr3 != null and attr3 != ''">and attr3 = #{attr3}</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
and CONVERT(varchar(30),create_time, 120) >= CONVERT(varchar(30),#{params.beginTime}, 120)
</if>
<if test="productCode != null and productCode != ''">and bbc.product_code like concat('%', #{productCode},
'%')
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
and CONVERT(varchar(30),create_time, 120) &lt;= CONVERT(varchar(30),#{params.endTime}, 120)
</if>
</where>
GROUP BY bbc.bom_code,bb.bom_bo,b1.product_desc_zh,bbc.product_code
order by bbc.bom_code desc
<!-- select-->
<!-- count(bb.bom_bo) AS number,-->
<!-- bbc.bom_code as bomCode,-->
<!-- bb.bom_bo as handle,-->
<!-- b1.product_desc_zh as productDescZh,-->
<!-- bbc.product_code as productCode-->
<!-- from base_bom_component bbc-->
<!-- left join base_product b1 on right(b1.product_code,11) = bbc.product_code-->
<!-- left join base_bom bb on bb.bom_code = bbc.bom_code-->
<!-- left join base_product bp on right(bp.product_code,11) = bbc.component-->
<!-- <where>-->
<!-- <if test="bomCode != null and bomCode != ''">and bbc.bom_code like concat('%', #{bomCode}, '%')</if>-->
<!-- <if test="productDescZh != null and productDescZh != ''">and b1.product_desc_zh like concat('%',-->
<!-- #{productDescZh}, '%')-->
<!-- </if>-->
<!-- <if test="productCode != null and productCode != ''">and bbc.product_code like concat('%', #{productCode},-->
<!-- '%')-->
<!-- </if>-->
<!-- </where>-->
<!-- GROUP BY bbc.bom_code,bb.bom_bo,b1.product_desc_zh,bbc.product_code-->
<!-- order by bbc.bom_code desc-->
</select>
<!--第一层-->

Loading…
Cancel
Save