Merge remote-tracking branch 'origin/uat-temp-pzj-250123-Assembly-Report' into test

tags/yfai-mes-ext-v2.9
王杰 3 months ago
commit c147289e65

@ -13,7 +13,9 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @Description : * @Description :
@ -25,13 +27,13 @@ import org.springframework.web.bind.annotation.*;
@Api("装配件报表") @Api("装配件报表")
@RestController @RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/assembly-part-report") @RequestMapping(MesCommonConstant.MES_YANFEN + "/assembly-part-report")
public class AssemblyPartReportController { public class MesAssemblyPartReportController {
@Autowired @Autowired
private IAssemblyPartReportService assemblyPartReportService; private IAssemblyPartReportService assemblyPartReportService;
@ApiOperation(value = "装配件报表") @ApiOperation(value = "装配件报表")
@PostMapping("/queryReport") @GetMapping("/queryReport")
public ResultBean queryReport(AssemblyPartReportModel model, Pager pager) { public ResultBean queryReport(AssemblyPartReportModel model, Pager pager) {
try { try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());

@ -30,106 +30,107 @@ public class AssemblyPartReportDaoImpl implements IAssemblyPartReportDao {
public ListPager<AssemblyPartReportModel> queryReport(AssemblyPartReportModel model, Pager pager) { public ListPager<AssemblyPartReportModel> queryReport(AssemblyPartReportModel model, Pager pager) {
StringBuilder dataQueryHql = new StringBuilder(); StringBuilder dataQueryHql = new StringBuilder();
dataQueryHql.append("SELECT new ").append(AssemblyPartReportModel.class.getName()).append("("); dataQueryHql.append("SELECT new ").append(AssemblyPartReportModel.class.getName()).append("(");
dataQueryHql.append("mes_production_assembly.serialNumber AS serialNumber,"); dataQueryHql.append("a.organizeCode,");
dataQueryHql.append("mes_production_assembly.workCenterCode AS workCenterCode,"); dataQueryHql.append("a.custSn,");
dataQueryHql.append("mes_production_assembly.workCellCode AS workCellCode,"); dataQueryHql.append("a.serialNumber,");
dataQueryHql.append("mes_production_assembly.partNo AS partNo,"); dataQueryHql.append("a.workCenterCode,");
dataQueryHql.append("mes_production_assembly.partName AS partName,"); dataQueryHql.append("a.workCellCode,");
dataQueryHql.append("mes_production_assembly.matchType AS matchType,"); dataQueryHql.append("a.partNo,");
dataQueryHql.append("mes_production_assembly.matchRule AS matchRule,"); dataQueryHql.append("a.partName,");
dataQueryHql.append("mes_production_assembly.assemblyPartNo AS assemblyPartNo,"); dataQueryHql.append("a.matchType,");
dataQueryHql.append("mes_production_assembly.assemblyPartName AS assemblyPartName,"); dataQueryHql.append("a.matchRule,");
dataQueryHql.append("mes_production_assembly.assemblySn AS assemblySn,"); dataQueryHql.append("a.assemblyPartNo,");
dataQueryHql.append("mes_production_assembly.productSn AS productSn,"); dataQueryHql.append("a.assemblyPartName,");
dataQueryHql.append("mes_production_assembly.isSkip AS isSkip,"); dataQueryHql.append("a.assemblySn,");
dataQueryHql.append("mes_production_assembly.createDatetime AS createDatetime,"); dataQueryHql.append("a.productSn,");
dataQueryHql.append("mes_production_assembly.createUser AS createUser,"); dataQueryHql.append("a.isSkip,");
dataQueryHql.append("mes_production_record.workOrderNo AS workOrderNo,"); dataQueryHql.append("a.createDatetime,");
dataQueryHql.append("mes_production_record.lotNo AS lotNo,"); dataQueryHql.append("a.createUser,");
dataQueryHql.append("mes_equipment.equipmentName AS equipmentName,"); dataQueryHql.append("b.workOrderNo,");
dataQueryHql.append("mes_equipment.equipId AS equipId "); dataQueryHql.append("b.lotNo,");
dataQueryHql.append("c.equipmentName,");
dataQueryHql.append("c.equipId ");
dataQueryHql.append(") "); dataQueryHql.append(") ");
StringBuilder countQueryHql= new StringBuilder(); StringBuilder countQueryHql= new StringBuilder();
countQueryHql.append("select count(1)"); countQueryHql.append("select count(1)");
StringBuilder commonQueryHql = new StringBuilder(); StringBuilder commonQueryHql = new StringBuilder();
commonQueryHql.append("FROM MesProductionAssembly mes_production_assembly "); commonQueryHql.append("FROM MesProductionAssembly a ");
commonQueryHql.append("JOIN MesProductionRecord mes_production_record ON mes_production_assembly.productionRecordId = mes_production_record.id "); commonQueryHql.append("JOIN MesProductionRecord b ON a.productionRecordId = b.id AND a.organizeCode=b.organizeCode ");
commonQueryHql.append("JOIN MesEquipment mes_equipment ON mes_production_record.equipmentCode = mes_equipment.equipmentCode "); commonQueryHql.append("JOIN MesEquipment c ON b.equipmentCode = c.equipmentCode AND c.organizeCode=b.organizeCode ");
commonQueryHql.append("WHERE 1=1 "); commonQueryHql.append("WHERE 1=1 ");
commonQueryHql.append("AND mes_production_assembly.organizeCode = :organizeCode "); commonQueryHql.append("AND a.organizeCode = :organizeCode ");
commonQueryHql.append("AND mes_production_record.organizeCode = :organizeCode "); commonQueryHql.append("AND b.organizeCode = :organizeCode ");
commonQueryHql.append("AND mes_equipment.organizeCode = :organizeCode "); commonQueryHql.append("AND c.organizeCode = :organizeCode ");
commonQueryHql.append("AND mes_production_assembly.isDeleted = :isDeleted "); commonQueryHql.append("AND a.isDeleted = :isDeleted ");
commonQueryHql.append("AND mes_production_record.isDeleted = :isDeleted "); commonQueryHql.append("AND b.isDeleted = :isDeleted ");
commonQueryHql.append("AND mes_equipment.isDeleted = :isDeleted "); commonQueryHql.append("AND c.isDeleted = :isDeleted ");
commonQueryHql.append("AND mes_production_assembly.isValid = :isValid "); commonQueryHql.append("AND a.isValid = :isValid ");
commonQueryHql.append("AND mes_production_record.isValid = :isValid "); commonQueryHql.append("AND b.isValid = :isValid ");
commonQueryHql.append("AND mes_equipment.isValid = :isValid "); commonQueryHql.append("AND c.isValid = :isValid ");
// like 条码 // like 条码
if(!StringUtils.isEmpty(model.getSerialNumber())){ if(!StringUtils.isEmpty(model.getSerialNumber())){
commonQueryHql.append("AND mes_production_assembly.serialNumber like :serialNumber "); commonQueryHql.append("AND a.serialNumber like :serialNumber ");
} }
// = 装配件条码确认规则 // = 装配件条码确认规则
if (!StringUtils.isEmpty(model.getMatchRule())){ if (!StringUtils.isEmpty(model.getMatchRule())){
commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule "); commonQueryHql.append("AND a.matchRule = :matchRule ");
} }
// like 零件号 // like 零件号
if(!StringUtils.isEmpty(model.getPartNo())){ if(!StringUtils.isEmpty(model.getPartNo())){
commonQueryHql.append("AND mes_production_assembly.partNo like :partNo "); commonQueryHql.append("AND a.partNo like :partNo ");
} }
//like 主零件号 //like 主零件号
if(!StringUtils.isEmpty(model.getPartName())){ if(!StringUtils.isEmpty(model.getPartName())){
commonQueryHql.append("AND mes_production_assembly.partName like :partName "); commonQueryHql.append("AND a.partName like :partName ");
} }
//like 装配零件号 //like 装配零件号
if(!StringUtils.isEmpty(model.getAssemblyPartNo())){ if(!StringUtils.isEmpty(model.getAssemblyPartNo())){
commonQueryHql.append("AND mes_production_assembly.assemblyPartNo like :assemblyPartNo "); commonQueryHql.append("AND a.assemblyPartNo like :assemblyPartNo ");
} }
//like 装配件零件名称 //like 装配件零件名称
if(!StringUtils.isEmpty(model.getAssemblyPartName())){ if(!StringUtils.isEmpty(model.getAssemblyPartName())){
commonQueryHql.append("AND mes_production_assembly.assemblyPartName like :assemblyPartName "); commonQueryHql.append("AND a.assemblyPartName like :assemblyPartName ");
} }
//like 装配条码 //like 装配条码
if(!StringUtils.isEmpty(model.getAssemblySn())){ if(!StringUtils.isEmpty(model.getAssemblySn())){
commonQueryHql.append("AND mes_production_assembly.assemblySn like :assemblySn "); commonQueryHql.append("AND a.assemblySn like :assemblySn ");
} }
// = 是否跳过 // = 是否跳过
if(model.getIsSkip() != null){ if(model.getIsSkip() != null){
commonQueryHql.append("AND mes_production_assembly.isSkip = :isSkip "); commonQueryHql.append("AND a.isSkip = :isSkip ");
} }
//like 创建人 //like 创建人
if(!StringUtils.isEmpty(model.getCreateUser())){ if(!StringUtils.isEmpty(model.getCreateUser())){
commonQueryHql.append("AND mes_production_assembly.createUser like :createUser "); commonQueryHql.append("AND a.createUser like :createUser ");
} }
//范围时间 创建时间 //范围时间 创建时间
if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){
commonQueryHql.append("AND mes_production_assembly.createDatetime between :createDateTimeStart and :createDateTimeEnd "); commonQueryHql.append("AND a.createDatetime between :createDateTimeStart and :createDateTimeEnd ");
} }
//like 产线 //like 产线
if(!StringUtils.isEmpty(model.getWorkCenterCode())){ if(!StringUtils.isEmpty(model.getWorkCenterCode())){
commonQueryHql.append("AND mes_production_assembly.workCenterCode like :workCenterCode "); commonQueryHql.append("AND a.workCenterCode like :workCenterCode ");
} }
//like 工位编号 //like 工位编号
if(!StringUtils.isEmpty(model.getWorkCellCode())){ if(!StringUtils.isEmpty(model.getWorkCellCode())){
commonQueryHql.append("AND mes_production_assembly.workCellCode like :workCellCode "); commonQueryHql.append("AND a.workCellCode like :workCellCode ");
} }
if (model.getMatchType()!=null){ if (model.getMatchType()!=null){
commonQueryHql.append("AND mes_production_assembly.matchRule = :matchRule "); commonQueryHql.append("AND a.matchRule = :matchRule ");
} }
//like 加工单号 //like 加工单号
if(!StringUtils.isEmpty(model.getWorkOrderNo())){ if(!StringUtils.isEmpty(model.getWorkOrderNo())){
commonQueryHql.append("AND mes_production_record.workOrderNo like :workOrderNo "); commonQueryHql.append("AND b.workOrderNo like :workOrderNo ");
} }
//like 设备名称 //like 设备名称
if(!StringUtils.isEmpty(model.getEquipmentName())){ if(!StringUtils.isEmpty(model.getEquipmentName())){
commonQueryHql.append("AND mes_equipment.equipmentName like :equipmentName "); commonQueryHql.append("AND c.equipmentName like :equipmentName ");
} }
if (model.getEquipId()!=null){ if (model.getEquipId()!=null){
commonQueryHql.append("AND mes_equipment.equipId = :equipId "); commonQueryHql.append("AND c.equipId = :equipId ");
} }
commonQueryHql.append("ORDER BY mes_production_assembly.createDatetime DESC "); commonQueryHql.append("ORDER BY a.createDatetime DESC ");
Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), AssemblyPartReportModel.class); Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), AssemblyPartReportModel.class);
setQueryParams(dataQuery, model); setQueryParams(dataQuery, model);
@ -139,9 +140,7 @@ public class AssemblyPartReportDaoImpl implements IAssemblyPartReportDao {
//本次查询满足条件的总数 //本次查询满足条件的总数
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
pager = PagerHelper.getPager(pager, count); pager = PagerHelper.getPager(pager, count);
//查询本页数据 dataQuery.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
dataQuery.setMaxResults(pager.getPageSize());
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
List<AssemblyPartReportModel> resultList = dataQuery.getResultList(); List<AssemblyPartReportModel> resultList = dataQuery.getResultList();
return new ListPager<>(resultList, pager); return new ListPager<>(resultList, pager);
} }

Loading…
Cancel
Save