过程检扫码更改

This commit is contained in:
z 2025-11-14 17:50:26 +08:00
parent 0fe4f3aa7b
commit aee7de95f7
27 changed files with 607 additions and 109 deletions

View File

@ -6,14 +6,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubRespVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.zjpgmaster.vo.ZjPgMasterSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper;
import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -27,6 +30,7 @@ import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import java.util.stream.Collectors;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
@ -62,6 +66,9 @@ public class PgMasterController {
@Resource
private TaskDispatchMapper taskDispatchMapper;
@Resource
private BgMasterLineMapper bgMasterLineMapper;
@GetMapping("/getBomMx")
@Operation(summary = "查询BOM明细")
@ -146,7 +153,7 @@ public class PgMasterController {
@GetMapping("/task-dispatch-detail/pageWx")
@Operation(summary = "获得派工明细分页")
@PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')")
public CommonResult<PageResult<PgMasterLineDO>> getTaskDispatchPageDetailWx(@Valid PgMasterLinePageReqVO pageReqVO) {
public CommonResult getTaskDispatchPageDetailWx(@Valid PgMasterLinePageReqVO pageReqVO) {
PageResult<PgMasterLineDO> pageResult = pgMasterService.getTaskDispatchDetailPageWx(pageReqVO);
if (ObjectUtil.isEmpty(pageResult.getList())){
if (ObjectUtil.isNotEmpty(pageReqVO.getSubOrDetailName())&&pageReqVO.getPageNo()==1){
@ -183,9 +190,33 @@ public class PgMasterController {
}
}
}
}else {
if (pageResult.getList().size()==1&&ObjectUtil.isNotEmpty(pageReqVO.getSubOrDetailName()) && pageReqVO.getPageNo() == 1&&"1".equals(pageReqVO.getType())) {
return success(pgMasterService.qualified(pageResult.getList().get(0).getId()));
}
}
if (ObjectUtil.isNotEmpty(pageReqVO.getPgType())&&pageReqVO.getPgType()==1){
for (PgMasterLineDO pgMasterLineDO : pageResult.getList()) {
LambdaQueryWrapper<BgMasterLineDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BgMasterLineDO::getZjMxId,pgMasterLineDO.getId());
queryWrapper.orderByDesc(BgMasterLineDO::getCreateTime);
queryWrapper.last("limit 1");
BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.selectOne(queryWrapper);
if (ObjectUtil.isNotEmpty(bgMasterLineDO)){
pgMasterLineDO.setIsQua(bgMasterLineDO.getIsQua()==0?"不合格":"合格");
}
}
}
return success(pageResult);
}
@GetMapping("/qualified")
@Operation(summary = "更新合格")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('heli:pg-master:query')")
public CommonResult qualified(@RequestParam("id") Integer id) {
return success(pgMasterService.qualified(id));
}
@GetMapping("/task-dispatch-detail/pages")
@Operation(summary = "获得质量派工单过程检验行分页")
@PreAuthorize("@ss.hasPermission('heli:pg-master-line:query')")

View File

@ -120,5 +120,4 @@ public class PgMasterLinePageReqVO extends PageParam {
private String active;
@Schema(description = "项目或子项目id")
private String subOrDetailName;
}

View File

@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeRespVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StoragePageReqVO;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -12,6 +14,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
import java.io.IOException;
@ -193,19 +197,49 @@ public class PurchaseOrderNoDetailController {
public CommonResult<Boolean> updateFrom(@Valid @RequestBody PurchaseOrderNoDetailDO detailDO) {
return purchaseOrderNoDetailService.updateFrom(detailDO);
}
// @GetMapping("/exportExcel")
// @Operation(summary = "导出采购收货")
// @OperateLog(type = EXPORT)
// public void exportExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// String[] split = pageReqVO.getIds().split(",");
// List<Long> ids = new ArrayList<>();
// for (String s : split) {
// ids.add(Long.valueOf(s));
// }
// List<PurchaseOrderNoDetailDO> list = purchaseOrderNoDetailService.exportExcel(ids);
// // 导出 Excel
// ExcelUtils.write(response, "零件采购收货.xlsx", "数据", PurchaseOrderMakeRespVO.class,
// BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class));
// }
@GetMapping("/exportExcel")
@Operation(summary = "导出采购收货")
@Operation(summary = "导出采购收货 Excel")
@OperateLog(type = EXPORT)
public void exportExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
public void exportStorageExcelOut(PurchaseOrderNoDetailPageReqVO pageReqVO, HttpServletResponse response) throws IOException {
String[] split = pageReqVO.getIds().split(",");
List<Long> ids = new ArrayList<>();
for (String s : split) {
ids.add(Long.valueOf(s));
}
List<PurchaseOrderNoDetailDO> list = purchaseOrderNoDetailService.exportExcel(ids);
// 导出 Excel
ExcelUtils.write(response, "零件采购收货.xlsx", "数据", PurchaseOrderMakeRespVO.class,
BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class));
Workbook workbook = purchaseOrderNoDetailService.exportExcel(ids);
// 2. 设置响应头
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
// 3. 处理文件名防止中文乱码
String fileName = URLEncoder.encode("出库单", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
// 4. 将Excel写入响应输出流
try (OutputStream outputStream = response.getOutputStream()) {
workbook.write(outputStream);
} finally {
// 5. 关闭工作簿释放资源
if (workbook != null) {
workbook.close();
}
}
}
}

View File

@ -160,5 +160,8 @@ public class PgMasterLineDO extends BaseDO {
private String nickName;
private String creator;
@TableField(exist = false)
private String isQua;
}

View File

@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
@ -56,13 +57,14 @@ public interface MaterialPlanMapper extends BaseMapperX<MaterialPlanDO> {
.leftJoin(ProjectOrderDO.class,"pro", ProjectOrderDO::getId, MaterialPlanDO::getProjectId)
.leftJoin(ProcedureDO.class,"pd",ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId)
.leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanDO::getProjectPlanSubId)
.leftJoin(CustomerDO.class,"c",CustomerDO::getId, MaterialPlanDO::getCustomerId)
.groupBy(MaterialPlanDO::getId)
.orderByDesc(MaterialPlanDO::getCreateTime);
query.like(!StringUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()),ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.like(!StringUtils.isEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName())
@ -72,7 +74,12 @@ public interface MaterialPlanMapper extends BaseMapperX<MaterialPlanDO> {
if (pageReqVO.getMatPlanDate() != null) {
query.between( MaterialPlanDO::getMatPlanDate, pageReqVO.getMatPlanDate()[0], pageReqVO.getMatPlanDate()[1]);
}
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}

View File

@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.druid.sql.visitor.functions.Left;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
@ -98,6 +99,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.leftJoin(MaterialDO.class,"m",MaterialDO::getId, MaterialPlanBoomDO::getMaterialId)
.leftJoin(SupplierDO.class, "f", SupplierDO::getId, MaterialPlanBoomDO::getSupplierId)
.leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanBoomDO::getProjectPlanSubId)
.leftJoin(CustomerDO.class,"c",CustomerDO::getId, MaterialPlanDO::getCustomerId)
.eq(MaterialPlanDO::getMatType,0)
.in(MaterialPlanBoomDO::getIsPurYard,Arrays.asList(0,5))
.disableSubLogicDel()
@ -105,13 +107,13 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.orderByDesc(MaterialPlanBoomDO::getCreateTime);
// query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName());
// query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()),MaterialPlanDO::getName, pageReqVO.getProjectSubName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName());
// query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getMaterialName()),MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectCode()),ProjectOrderDO::getCode, pageReqVO.getProjectCode());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getOwnerName()),AdminUserDO::getNickname, pageReqVO.getOwnerName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getSupplierName()),SupplierDO::getBrief, pageReqVO.getSupplierName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName());
// query.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),MaterialPlanDO::getBrief, pageReqVO.getCustomerName());
query.like(ObjectUtil.isNotEmpty(pageReqVO.getProjectMaterialPlanNo()),MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo());
if (pageReqVO.getMplanStatus() == 0){
query.in(MaterialPlanBoomDO::getMplanStatus,Arrays
@ -120,7 +122,12 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
query.eq(MaterialPlanBoomDO::getMplanStatus,pageReqVO.getMplanStatus() );
}
// query.like(ObjectUtil.isNotEmpty(pageReqVO.getMplanStatus()),ProjectOrderDO::getCode, pageReqVO.getProjectCode());
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}
default int clearSuplier(MaterialPlanBoomDO updateObj){
@ -209,6 +216,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.leftJoin(ProjectOrderDO.class,"b",ProjectOrderDO::getId,MaterialPlanDO::getProjectId)
.leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanBoomDO::getProjectPlanSubId)
.leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId)
.leftJoin(CustomerDO.class,"c",CustomerDO::getId,MaterialPlanDO::getCustomerId)
.leftJoin("project_mat_req_detail mat on (t.id=mat.project_material_plan_detail_id and mat.deleted=0 and mat.tenant_id = 2)")
.leftJoin("base_material m ON (m.id = mat.material_id and m.tenant_id = 2) ")
.leftJoin(MaterialDO.class,"mater", MaterialDO::getId,MaterialPlanBoomDO::getMaterialId)
@ -221,13 +229,19 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
query
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType())
.like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus());
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}
@ -258,10 +272,11 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.leftJoin(ProcedureDO.class, "c", ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId)
.leftJoin(CompositionDO.class, "e", CompositionDO::getId, ProcessBomDetailDO::getCompositionId)
.leftJoin(SupplierDO.class, "f", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId)
.leftJoin(CustomerDO.class,"cust",CustomerDO::getId,MaterialPlanDO::getCustomerId)
.disableSubLogicDel();
query
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
@ -273,7 +288,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
.eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType())
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus())
.like(ObjectUtil.isNotEmpty(pageReqVO.getSupplierName()), SupplierDO::getBrief, pageReqVO.getSupplierName())
.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
// .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName())
.in(Objects.nonNull(pageReqVO.getBoomDetailIds()), ProcessBomDetailDO::getId, pageReqVO.getBoomDetailIds())
.in(Objects.nonNull(pageReqVO.getProjectPlanSubIds()), ProjectOrderSubDO::getId, pageReqVO.getProjectPlanSubIds())
.in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != null && pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3))
@ -306,6 +321,12 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
query.orderByAsc(ProcessBomDetailDO::getBlueprintNo);
}
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
PageResult<MaterialPlanBoomDO> pageResult = selectPage(pageReqVO, query);
return pageResult;
}

View File

@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.matreq;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
@ -41,12 +42,18 @@ public interface MatReqMapper extends BaseMapperX<MatReqDO> {
query.like(!StringUtils.isEmpty(reqVO.getMatReqNo()), MatReqDO::getMatReqNo, reqVO.getMatReqNo())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()),MatReqDO::getProjectName, reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), MatReqDetailDO::getName,reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectNameSim, reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim,reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getMaterialName()), MaterialDO::getName, reqVO.getMaterialName())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
.eq(!StringUtils.isEmpty(reqVO.getGoodsType()), MatReqDO::getGoodsType, reqVO.getGoodsType());
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
}

View File

@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.plan;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
@ -67,14 +68,19 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
.orderByDesc(PlanDO::getPlanNo);
query.like(!StringUtils.isEmpty(reqVO.getPlanNo()), PlanDO::getPlanNo, reqVO.getPlanNo())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), "p.code", reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName())
.like(!StringUtils.isEmpty(reqVO.getProjectOwner()), "f.nickname", reqVO.getProjectOwner())
.eq(reqVO.getBusinessLine() != null, ProjectOrderDO::getBusinessLine, reqVO.getBusinessLine())
.eq(reqVO.getProperty() != null, ProjectOrderDO::getProperty, reqVO.getProperty())
.eq(reqVO.getStatus() != null, PlanDO::getStatus, reqVO.getStatus());
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
}

View File

@ -47,11 +47,17 @@ public interface PlanTaskMapper extends BaseMapperX<PlanTaskDO> {
.orderByDesc(ProcessBomDO::getShenheTime);
query.like(!StringUtils.isEmpty(reqVO.getTaskNo()), PlanTaskDO::getTaskNo, reqVO.getTaskNo())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), "p.code", reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
.like(!StringUtils.isEmpty(reqVO.getProjectName()), "p.project_name", reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()), "p.project_name", reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getPlanNo()), "pl.plan_no", reqVO.getPlanNo())
.like(!StringUtils.isEmpty(reqVO.getProjectSubCode()), "ps.project_sub_code", reqVO.getProjectSubCode())
.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), "po.name", reqVO.getProjectSubName());
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getStatus())){
// if (reqVO.getStatus() == 4){
// query.eq(ProjectOrderDO::getDeliveryStatus, 3);

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.dal.mysql.processbom;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@ -224,13 +225,13 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, pageReqVO.getMaterialName())
.like(!StringUtils.isEmpty(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo())
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), ProcessBomDetailDO::getMplanStatus, pageReqVO.getStatus())
.like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName());
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), ProcessBomDetailDO::getMplanStatus, pageReqVO.getStatus());
// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName());
// .eq(MaterialPlanBoomDO::getDeleted,0)
// .eq(MaterialPlanDO::getDeleted,0);
if (ObjectUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo())) {
@ -240,7 +241,12 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
;
}
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}

View File

@ -61,9 +61,9 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
// if (!StringUtils.isEmpty(reqVO.getProjectName())){
// query.like(ProjectOrderDO::getProjectName, reqVO.getProjectName());
// }
if (!StringUtils.isEmpty(reqVO.getProjectName())){
query.like(ProjectOrderDO::getProjectSubName, reqVO.getProjectName());
}
// if (!StringUtils.isEmpty(reqVO.getProjectName())){
// query.like(ProjectOrderDO::getProjectSubName, reqVO.getProjectName());
// }
if (!StringUtils.isEmpty(reqVO.getProjectCode())){
query.like(ProjectOrderDO::getCode, reqVO.getProjectCode());
}
@ -79,11 +79,16 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
if (reqVO.getOrderStatus() != null){
query.eq(PurchaseOrderMakeDetailDO::getOrderStatus, reqVO.getOrderStatus());
}
// if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
// query.like(CustomerDO::getBrief, reqVO.getCustomerName());
// }
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.like(CustomerDO::getBrief, reqVO.getCustomerName());
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
}
default int clearMaterialId(Long id){
@ -110,6 +115,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.leftJoin(SupplierDO.class, "d", SupplierDO::getId,PurchaseOrderMakeDetailDO::getSupplierId)
.leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, PurchaseOrderMakeDetailDO::getProcedureId)
.leftJoin(ProcessBomDetailDO.class, "f", ProcessBomDetailDO::getId,PurchaseOrderMakeDetailDO::getBoomDetailId)
.leftJoin(CustomerDO.class,"g",CustomerDO::getId,PurchaseOrderMakeDetailDO::getCustomerId)
.disableLogicDel()
.disableSubLogicDel()
.eq(PurchaseOrderMakeDO::getGoodsType, 2)
@ -120,17 +126,22 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.eq(Objects.nonNull(pageReqVO.getDocumentStatus()), PurchaseOrderMakeDetailDO::getStatus, pageReqVO.getDocumentStatus())
// .like(StringUtils.isNotBlank(pageReqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, pageReqVO.getProjectName())
// .like(StringUtils.isNotBlank(pageReqVO.getProjectSubName()), PurchaseOrderMakeDetailDO::getName, pageReqVO.getProjectSubName())
.like(StringUtils.isNotBlank(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(StringUtils.isNotBlank(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(StringUtils.isNotBlank(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(StringUtils.isNotBlank(pageReqVO.getMaterialName()), PurchaseOrderMakeDetailDO::getBoomName, pageReqVO.getMaterialName())
.like(ObjectUtil.isNotEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo())
.eq(Objects.nonNull(pageReqVO.getStatus()), PurchaseOrderMakeDetailDO::getOrderStatus, pageReqVO.getStatus())
.like(Objects.nonNull(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.like(Objects.nonNull(pageReqVO.getOwnerName()), AdminUserDO::getNickname, pageReqVO.getOwnerName())
.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), PurchaseOrderMakeDO::getBrief, pageReqVO.getCustomerName())
// .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), PurchaseOrderMakeDO::getBrief, pageReqVO.getCustomerName())
.like(ObjectUtil.isNotEmpty(pageReqVO.getProcedureName()), ProcedureDO::getName, pageReqVO.getProcedureName())
.like(Objects.nonNull(pageReqVO.getSupplierName()), SupplierDO::getBrief, pageReqVO.getSupplierName());
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
PageResult<PartPurchaseOrderPageRespVO> pageResult = selectJoinPage(pageReqVO, PartPurchaseOrderPageRespVO.class, query);
return pageResult;
}
@ -212,6 +223,8 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
.leftJoin(ProcessBomDetailDO.class, "bom", ProcessBomDetailDO::getId, PurchaseOrderMakeDetailDO::getBoomDetailId)
.leftJoin(ProjectOrderSubDO.class,"sub", ProjectOrderSubDO::getId, PurchaseOrderMakeDetailDO::getProjectPlanSubId)
.leftJoin(PurchaseOrderNoDetailDO.class,"no", PurchaseOrderNoDetailDO::getId, PurchaseOrderMakeDetailDO::getPurchaseOrderNoDetailId)
.leftJoin(CustomerDO.class,"c1", CustomerDO::getId, PurchaseOrderMakeDO::getCustomerId)
.leftJoin(CustomerDO.class,"c2", CustomerDO::getId, PurchaseOrderMakeDetailDO::getCustomerId)
.disableSubLogicDel()
.eq(ObjectUtil.isNotEmpty(pageReqVO.getGoodsType()) ,PurchaseOrderMakeDO::getGoodsType, pageReqVO.getGoodsType())
// .like(ObjectUtil.isNotEmpty(pageReqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, pageReqVO.getProjectName())
@ -238,9 +251,10 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
if (ObjectUtil.isNotEmpty(pageReqVO.getGoodsType())){
if (pageReqVO.getGoodsType() == 1){
query.like("b.project_name_sim", pageReqVO.getProjectName());
query.and(e->e.like("b.project_name_sim", pageReqVO.getProjectName()).or().like("b.project_name", pageReqVO.getProjectName()));
}else if (pageReqVO.getGoodsType() == 2){
query.like("o.project_name_sim", pageReqVO.getProjectName());
query.and(e->e.like("o.project_name_sim", pageReqVO.getProjectName()).or().like("o.project_name", pageReqVO.getProjectName()));
}
}
}
@ -256,9 +270,12 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX<PurchaseOrder
if (ObjectUtil.isNotEmpty(pageReqVO.getBrief())){
if (ObjectUtil.isNotEmpty(pageReqVO.getGoodsType())){
if (pageReqVO.getGoodsType() == 1){
query.like( PurchaseOrderMakeDO::getBrief, pageReqVO.getBrief());
// query.like( PurchaseOrderMakeDO::getBrief, pageReqVO.getBrief());
query.and(e->e.like("c1.brief", pageReqVO.getProjectName()).or().like("c1.name", pageReqVO.getProjectName()));
}else if (pageReqVO.getGoodsType() == 2){
query.like( PurchaseOrderMakeDetailDO::getBrief, pageReqVO.getBrief());
// query.like( PurchaseOrderMakeDetailDO::getBrief, pageReqVO.getBrief());
query.and(e->e.like("c2.brief", pageReqVO.getProjectName()).or().like("c2.name", pageReqVO.getProjectName()));
}
}
}

View File

@ -74,20 +74,25 @@ public interface PurchaseOrderNoMapper extends BaseMapperX<PurchaseOrderNoDO> {
.eq(reqVO.getPurchaseType() != null, PurchaseOrderNoDO::getPurchaseType, reqVO.getPurchaseType())
.eq(reqVO.getGoodsType() != null, PurchaseOrderNoDO::getGoodsType, reqVO.getGoodsType())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()), PurchaseOrderNoDetailDO::getProjectName, reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
// .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), PurchaseOrderNoDetailDO::getName, reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getUsername()), AdminUserDO::getNickname, reqVO.getUsername())
.like(!ObjectUtil.isEmpty(reqVO.getBoomName()), PurchaseOrderNoDetailDO::getBoomName, reqVO.getBoomName())
.like(!ObjectUtil.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
// .like(!ObjectUtil.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
// .like(!ObjectUtil.isEmpty(reqVO.getProcedureName()), ProcedureDO::getName, reqVO.getProcedureName())
.like(!ObjectUtil.isEmpty(reqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo())
.having(reqVO.getReceivingStatus() != null,"receivingStatus1 = {0}", reqVO.getReceivingStatus())
.having(!ObjectUtil.isEmpty(reqVO.getProcedureName()),"COUNT(pro.id) > 0")
.in(reqVO.getIds() != null && !reqVO.getIds().isEmpty(),PurchaseOrderNoDO::getId,reqVO.getIds());
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
// MPJLambdaWrapper<PurchaseOrderNoDO> query = new MPJLambdaWrapper<>();
//

View File

@ -118,13 +118,18 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX<PurchaseOrderNo
.eq(pageReqVO.getGoodsType() != null, PurchaseOrderNoDO::getGoodsType, pageReqVO.getGoodsType())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), PurchaseOrderNoDetailDO::getProjectName, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), PurchaseOrderNoDetailDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),CustomerDO::getBrief, pageReqVO.getCustomerName())
// .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()),CustomerDO::getBrief, pageReqVO.getCustomerName())
.ne(PurchaseOrderNoDO::getPurchaseType, 2)
.like(!StringUtils.isEmpty(pageReqVO.getBoomName()), PurchaseOrderNoDetailDO::getBoomName, pageReqVO.getBoomName());
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}
@ -285,9 +290,9 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX<PurchaseOrderNo
.eq(pageReqVO.getPurchaseType() != null, PurchaseOrderNoDO::getPurchaseType, pageReqVO.getPurchaseType())
.eq(pageReqVO.getGoodsType() != null, PurchaseOrderNoDO::getGoodsType, pageReqVO.getGoodsType())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), PurchaseOrderNoDetailDO::getProjectName, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), PurchaseOrderNoDetailDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getUsername()), AdminUserDO::getNickname, pageReqVO.getUsername())
@ -295,6 +300,12 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX<PurchaseOrderNo
.like(!ObjectUtil.isEmpty(pageReqVO.getProcedureName()), ProcedureDO::getName, pageReqVO.getProcedureName())
.like(!ObjectUtil.isEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo())
.orderByDesc(PurchaseOrderNoDetailDO::getCreateTime);
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}

View File

@ -2,9 +2,11 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.storagein;
import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
@ -35,19 +37,26 @@ public interface StorageInMapper extends BaseMapperX<StorageInDO> {
.leftJoin(SupplierDO.class,"sup", SupplierDO::getId, StorageInDetailDO::getSupplierId)
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, StorageInDetailDO::getProjectId)
.leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId, StorageInDetailDO::getProjectPlanSubId)
.leftJoin(CustomerDO.class,"c", CustomerDO::getId, StorageInDetailDO::getCustomerId)
.disableSubLogicDel()
.groupBy(StorageInDO::getId)
.orderByDesc(PurchaseOrderDO::getCreateTime);
query.like(!StringUtils.isEmpty(reqVO.getStorageNo()), StorageInDO::getStorageNo, reqVO.getStorageNo());
// query.like(!StringUtils.isEmpty(reqVO.getProjectName()), StorageInDetailDO::getProjectName, reqVO.getProjectName());
// query.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), StorageInDetailDO::getName, reqVO.getProjectSubName());
query.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName());
// query.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, reqVO.getProjectName());
query.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, reqVO.getProjectSubName());
query.like(!StringUtils.isEmpty(reqVO.getSupplierName()), SupplierDO::getBrief, reqVO.getSupplierName());
query.like(!StringUtils.isEmpty(reqVO.getBoomName()), StorageInDetailDO::getBoomName, reqVO.getBoomName());
query.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode());
query.like(!StringUtils.isEmpty(reqVO.getCustomerName()), StorageInDetailDO::getBrief, reqVO.getCustomerName());
// query.like(!StringUtils.isEmpty(reqVO.getCustomerName()), StorageInDetailDO::getBrief, reqVO.getCustomerName());
query.eq(reqVO.getGoodsType() != null, StorageInDO::getGoodsType, reqVO.getGoodsType());
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
}

View File

@ -775,8 +775,8 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
.like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
.like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectNameSim, pageReqVO.getProjectName())
// .like(!StringUtils.isEmpty(pageReqVO.getCustomerName()), CustomerDO::getBrief, pageReqVO.getCustomerName())
// .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getNameSim, pageReqVO.getProjectSubName())
.like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, pageReqVO.getMaterialName())
@ -784,6 +784,12 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
.like(!StringUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo())
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), TaskDispatchDetailDO::getPlanStatus, pageReqVO.getStatus())
.eq( TaskDispatchDetailDO::getIsOutsourcing, "Y");
if (ObjectUtil.isNotEmpty(pageReqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,pageReqVO.getCustomerName()).or().like(CustomerDO::getName,pageReqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(pageReqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,pageReqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,pageReqVO.getProjectName()));
}
return selectPage(pageReqVO, query);
}

View File

@ -80,8 +80,8 @@ public interface TaskDispatchMapper extends BaseMapperX<TaskDispatchDO> {
query.like(!StringUtils.isEmpty(reqVO.getCode()), TaskDispatchDO::getCode, reqVO.getCode())
.like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode())
.like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
.like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName())
// .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getBrief, reqVO.getCustomerName())
// .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName())
.like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getName, reqVO.getProjectSubName())
.like(!StringUtils.isEmpty(reqVO.getProjectSubCode()), "b.project_sub_code", reqVO.getProjectSubCode())
.eq(reqVO.getDispatchStatus() != null, TaskDispatchDO::getDispatchStatus, reqVO.getDispatchStatus())
@ -94,6 +94,12 @@ public interface TaskDispatchMapper extends BaseMapperX<TaskDispatchDO> {
if (ObjectUtil.isNotEmpty(reqVO.getFlag())&&"false".equals(reqVO.getFlag())){
query.ne(ProjectOrderDO::getDeliveryStatus,3);
}
if (ObjectUtil.isNotEmpty(reqVO.getCustomerName())){
query.and(e->e.like(CustomerDO::getBrief,reqVO.getCustomerName()).or().like(CustomerDO::getName,reqVO.getCustomerName()));
}
if (ObjectUtil.isNotEmpty(reqVO.getProjectName())){
query.and(e->e.like(ProjectOrderDO::getProjectName,reqVO.getProjectName()).or().like(ProjectOrderDO::getProjectNameSim,reqVO.getProjectName()));
}
return selectPage(reqVO, query);
}
default List<TaskDispatchDO> selectPageNew(TaskDispatchPageReqVO reqVO) {

View File

@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.heli.service.pgmaster;
import java.util.*;
import javax.validation.*;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO;
@ -83,4 +85,5 @@ public interface PgMasterService {
List<PgMasterLineDO> searchBomMx(Long task_id,Long project_id);
CommonResult qualified(Integer id);
}

View File

@ -2,8 +2,11 @@ package com.chanko.yunxi.mes.module.heli.service.pgmaster;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
@ -11,9 +14,11 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMaster
import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterLineMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
import com.chanko.yunxi.mes.module.heli.enums.TaskDispatchTypeEnum;
import com.chanko.yunxi.mes.module.heli.service.bgmasterline.BgMasterLineService;
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -21,6 +26,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.pgmaster.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterDO;
@ -60,6 +66,10 @@ public class PgMasterServiceImpl implements PgMasterService {
private SerialNumberService serialNumberService;
@Resource
private TaskDispatchDetailMapper taskDispatchDetailMapper;
@Resource
private BgMasterLineService bgMasterLineService;
@Resource
private ProcedureMapper procedureMapper;
@ -164,6 +174,38 @@ public class PgMasterServiceImpl implements PgMasterService {
return pgMasterLineDOList;
}
@Override
public CommonResult qualified(Integer id) {
PgMasterLineDO pgMasterLineDO = pgMasterLineMapper.selectById(id);
if (ObjectUtil.isNotEmpty(pgMasterLineDO)){
BgMasterLineDO bgMasterLineDO = new BgMasterLineDO();
bgMasterLineDO.setZjMxId(Long.valueOf(pgMasterLineDO.getId()));
bgMasterLineDO.setBgUser(getLoginUser().getId().toString());
bgMasterLineDO.setAmount(pgMasterLineDO.getAmount());
bgMasterLineDO.setBgTime(LocalDateTime.now());
bgMasterLineDO.setEntTime(LocalDateTime.now());
bgMasterLineDO.setIsQua(1);
bgMasterLineMapper.insert(bgMasterLineDO);
pgMasterLineDO.setPgType(1);
pgMasterLineDO.setDetilUser(Long.parseLong(getLoginUser().getId().toString()));
pgMasterLineDO.setActive("END");
pgMasterLineDO.setEntTime(LocalDateTime.now());
pgMasterLineMapper.updateById(pgMasterLineDO);
//修改派工单明细表检验状态为Y
LambdaUpdateWrapper<TaskDispatchDetailDO> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(TaskDispatchDetailDO::getId,pgMasterLineDO.getDispatchDetailId());
wrapper.set(TaskDispatchDetailDO::getTestYn,"Y");
taskDispatchDetailMapper.update(wrapper);
ProcedureDO procedureDO = procedureMapper.selectById(pgMasterLineDO.getProcedureId());
String procedureName="";
if (ObjectUtil.isNotEmpty(procedureDO)){
procedureName = procedureDO.getName();
}
return CommonResult.success("子项目"+pgMasterLineDO.getProjectSubName()+",图号"+pgMasterLineDO.getBlueprintNo()+",工序"+procedureName+"检验完成");
}
return null;
}
@Override
public Integer zfPgMaster(Long id) {

View File

@ -777,7 +777,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
//第一次提交时获取审核人
List<ShenheDO> shenheDOS = shenheMapper.serchShenHeRuser("2", updateObj.getShenheUser(), 0);
if (shenheDOS.size() > 0) {
updateObj.setBomStatus(6);
updateObj.setBomStatus(ProcessBomStatusEnum.valueOf(updateReqVO.getActive()).getCode());
//审核后设置状态为默认
ShenheDO shenheDO = shenheDOS.get(0);
if (ObjectUtil.isNotEmpty(shenheDO.getShenheUser())) {

View File

@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storage.StorageControll
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import org.apache.poi.ss.usermodel.Workbook;
/**
* 采购订单明细 Service 接口
@ -76,5 +77,5 @@ public interface PurchaseOrderNoDetailService {
PageResult<PurchaseOrderNoDetailDO> getReceiveGoodDetail(PurchaseOrderNoPageReqVO pageReqVO);
List<PurchaseOrderNoDetailDO> exportExcel(List<Long> ids);
Workbook exportExcel(List<Long> ids);
}

View File

@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
@ -51,6 +52,9 @@ import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import com.sun.scenario.effect.impl.prism.PrTexture;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -597,7 +601,210 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
}
@Override
public List<PurchaseOrderNoDetailDO> exportExcel(List<Long> ids) {
return purchaseOrderNoDetailMapper.exportExcel(ids);
public Workbook exportExcel(List<Long> ids) {
LambdaQueryWrapper<PurchaseOrderNoDetailDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(PurchaseOrderNoDetailDO::getId,ids);
List<PurchaseOrderNoDetailDO> list = purchaseOrderNoDetailMapper.selectList(lambdaQueryWrapper);
Workbook workbook = null;
if (ObjectUtil.isNotEmpty(list)) {
try {
workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 设置单元格样式启用自动换行
CellStyle style = workbook.createCellStyle();
style.setWrapText(true); // 关键启用自动换行
// 设置水平和垂直居中
style.setAlignment(HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment.CENTER);
// 创建字体对象
// Font font = workbook.createFont();
// font.setFontName("宋体"); // 设置字体为宋体
// font.setFontHeightInPoints((short) 11); // 设置字号为11磅
// font.setBold(true); // 设置加粗
// // 将字体应用到样式
// style.setFont(font);
CellStyle styleWarp = workbook.createCellStyle();
styleWarp.setWrapText(true); // 关键启用自动换行
// 设置水平和垂直居中
styleWarp.setAlignment(HorizontalAlignment.CENTER);
styleWarp.setVerticalAlignment(VerticalAlignment.CENTER);
// 设置边框
styleWarp.setBorderTop(BorderStyle.THIN);
styleWarp.setBorderBottom(BorderStyle.THIN);
styleWarp.setBorderLeft(BorderStyle.THIN);
styleWarp.setBorderRight(BorderStyle.THIN);
// 合并第一行前三格
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
//第一行
Row row0 = sheet.createRow(0);
Cell cellA0 = row0.createCell(0);
cellA0.setCellStyle(style);
cellA0.setCellValue("杭州合立模具有限公司 委外工单及送货单");
Cell cellA3 = row0.createCell(3);
cellA3.setCellStyle(style);
cellA3.setCellValue("审核:");
Cell cellA4 = row0.createCell(5);
cellA4.setCellStyle(style);
cellA4.setCellValue("委外加工经手人:");
Cell cellA5 = row0.createCell(7);
cellA5.setCellStyle(style);
cellA5.setCellValue("收货人:");
//第二行
Row row1 = sheet.createRow(1);
Cell cellA1 = row1.createCell(0);
cellA1.setCellStyle(styleWarp);
cellA1.setCellValue("编号");
Cell cellB1 = row1.createCell(1);
cellB1.setCellStyle(styleWarp);
cellB1.setCellValue("日期");
Cell cellC1 = row1.createCell(2);
cellC1.setCellStyle(styleWarp);
cellC1.setCellValue("客户名");
Cell cellD1 = row1.createCell(3);
cellD1.setCellStyle(styleWarp);
cellD1.setCellValue("模具名");
Cell cellE1 = row1.createCell(4);
cellE1.setCellStyle(styleWarp);
cellE1.setCellValue("件号");
Cell cellF1 = row1.createCell(5);
cellF1.setCellStyle(styleWarp);
cellF1.setCellValue("零件名称");
Cell cellG1 = row1.createCell(6);
cellG1.setCellStyle(styleWarp);
cellG1.setCellValue("材料");
Cell cellH1 = row1.createCell(7);
cellH1.setCellStyle(styleWarp);
cellH1.setCellValue("规格");
Cell cellI1 = row1.createCell(8);
cellI1.setCellStyle(styleWarp);
cellI1.setCellValue("数量");
Cell cellJ1 = row1.createCell(9);
cellJ1.setCellStyle(styleWarp);
cellJ1.setCellValue("单价");
Cell cellK1 = row1.createCell(10);
cellK1.setCellStyle(styleWarp);
cellK1.setCellValue("总价格");
Cell cellL1 = row1.createCell(11);
cellL1.setCellStyle(styleWarp);
cellL1.setCellValue("要求日期");
int rowIndex = 2;
BigDecimal sum = BigDecimal.ZERO;
BigDecimal priceSum = BigDecimal.ZERO;
Map<Long, String> boomMap = new HashMap<>();
List<Long> collect = list.stream().map(PurchaseOrderNoDetailDO::getBoomDetailId).distinct().collect(Collectors.toList());
if (ObjectUtil.isNotEmpty(collect)) {
LambdaQueryWrapper<ProcessBomDetailDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ProcessBomDetailDO::getId, collect);
List<ProcessBomDetailDO> processBomDetailDOList = processBomDetailMapper.selectList(queryWrapper);
if (ObjectUtil.isNotEmpty(processBomDetailDOList)) {
boomMap = processBomDetailDOList.stream().collect(Collectors.toMap(ProcessBomDetailDO::getId, ProcessBomDetailDO::getBlueprintNo));
}
}
for (int i = 0; i < list.size(); i++) {
Row newRow = sheet.createRow(rowIndex + i);
PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = list.get(i);
Cell cellA = newRow.createCell(0);
cellA.setCellStyle(styleWarp);
cellA.setCellValue(i + 1);
Cell cellB = newRow.createCell(1);
cellB.setCellStyle(styleWarp);
cellB.setCellValue(purchaseOrderNoDetailDO.getCreateTime().format(formatter));
Cell cellC = newRow.createCell(2);
cellC.setCellStyle(styleWarp);
cellC.setCellValue(purchaseOrderNoDetailDO.getBrief());
Cell cellD = newRow.createCell(3);
cellD.setCellStyle(styleWarp);
cellD.setCellValue(purchaseOrderNoDetailDO.getProjectSubCode());
Cell cellE = newRow.createCell(4);
cellE.setCellStyle(styleWarp);
cellE.setCellValue(ObjectUtil.isNotEmpty(boomMap.get(purchaseOrderNoDetailDO.getBoomDetailId())) ? boomMap.get(purchaseOrderNoDetailDO.getBoomDetailId()) : "");
Cell cellF = newRow.createCell(5);
cellF.setCellStyle(styleWarp);
cellF.setCellValue(purchaseOrderNoDetailDO.getBoomName());
Cell cellG = newRow.createCell(6);
cellG.setCellStyle(styleWarp);
cellG.setCellValue(purchaseOrderNoDetailDO.getComposition());
Cell cellH = newRow.createCell(7);
cellH.setCellStyle(styleWarp);
cellH.setCellValue(purchaseOrderNoDetailDO.getBoomSpec());
Cell cellI = newRow.createCell(8);
cellI.setCellStyle(styleWarp);
cellI.setCellValue(String.valueOf(purchaseOrderNoDetailDO.getPurchaseAmount()));
sum = sum.add(purchaseOrderNoDetailDO.getPurchaseAmount());
Cell cellJ = newRow.createCell(9);
cellJ.setCellStyle(styleWarp);
BigDecimal unitPrice = Optional.of(purchaseOrderNoDetailDO)
.filter(dto -> dto.getPurchaseAmount() != null)
.filter(dto -> dto.getEstimatedPrice() != null)
.filter(dto -> dto.getPurchaseAmount().compareTo(BigDecimal.ZERO) != 0)
.map(dto -> dto.getEstimatedPrice().divide(dto.getPurchaseAmount(), 2, RoundingMode.HALF_UP))
.orElse(BigDecimal.ZERO); // 或者 .orElse(null)
cellJ.setCellValue(String.valueOf(unitPrice));
Cell cellK = newRow.createCell(10);
cellK.setCellStyle(styleWarp);
cellK.setCellValue(String.valueOf(purchaseOrderNoDetailDO.getEstimatedPrice().setScale(2, RoundingMode.HALF_UP)));
priceSum = priceSum.add(purchaseOrderNoDetailDO.getEstimatedPrice().setScale(2, RoundingMode.HALF_UP));
Cell cellL = newRow.createCell(11);
cellL.setCellStyle(styleWarp);
cellL.setCellValue(purchaseOrderNoDetailDO.getRequireTime().format(formatter));
}
// 合并第一行前三格
sheet.addMergedRegion(new CellRangeAddress(rowIndex + list.size(), rowIndex + list.size(), 0, 7));
Row row = sheet.createRow(rowIndex + list.size());
Cell cell = row.createCell(0);
cell.setCellStyle(styleWarp);
cell.setCellValue("合计");
// 为合并区域的其他单元格也设置相同的样式
for (int i = 1; i <= 7; i++) {
Cell otherCell = row.createCell(i);
otherCell.setCellStyle(styleWarp);
}
Cell cellI = row.createCell(8);
cellI.setCellStyle(styleWarp);
cellI.setCellValue(String.valueOf(sum));
Cell cellJ = row.createCell(9);
cellJ.setCellStyle(styleWarp);
cellJ.setCellValue("");
Cell cellK = row.createCell(10);
cellK.setCellStyle(styleWarp);
cellK.setCellValue(String.valueOf(priceSum));
Cell cellL = row.createCell(11);
cellL.setCellStyle(styleWarp);
cellL.setCellValue("");
Row rowFoot = sheet.createRow(rowIndex + list.size() + 1);
Cell cell1 = rowFoot.createCell(0);
cell1.setCellStyle(style);
cell1.setCellValue("合立经手人:");
Cell cell2 = rowFoot.createCell(1);
cell2.setCellStyle(style);
AdminUserDO user = adminUserService.getUser(getLoginUser().getId());
if (ObjectUtil.isNotEmpty(user)) {
cell2.setCellValue(user.getNickname());
}
Cell cell3 = rowFoot.createCell(2);
cell3.setCellStyle(style);
cell3.setCellValue("审核人:");
Cell cell4 = rowFoot.createCell(4);
cell4.setCellStyle(style);
cell4.setCellValue("委外加工经手人:");
for (int i = 0; i < 12; i++) {
sheet.autoSizeColumn(i);
// 确保最小宽度
if (sheet.getColumnWidth(i) < 8 * 256) {
sheet.setColumnWidth(i, 8 * 256);
}
}
sheet.setColumnWidth(0, 12 * 256);
sheet.setColumnWidth(2, 12 * 256);
sheet.setColumnWidth(4, 15 * 256);
sheet.setColumnWidth(5, 15 * 256);
} catch (Exception e) {
e.printStackTrace();
}
}
return workbook;
}
}

View File

@ -1,7 +1,7 @@
<template>
<el-card class="hl-card">
<template #header>
<span>零件采购订单管理</span>
<span></span>
</template>
<ContentWrap class="borderxx">
<!-- 搜索工作栏 -->
@ -117,6 +117,7 @@ v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" cl
<dict-tag :type="DICT_TYPE.HELI_PURCHASE_RECEIVING_STATUS" :value="scope.row.receivingStatus1" />
</template>
</el-table-column>
<el-table-column label="供应商修改原因" align="center" min-width="180" prop="modRemark" />
<el-table-column label="操作" align="center" fixed="right" min-width="200">
<template #header>
<span style="margin-right: 30%">操作</span>

View File

@ -117,14 +117,14 @@ v-model="queryParams.supplierName" placeholder="供应商" clearable @keyup.ente
<el-table-column prop="compositionName" min-width="100" label="材质" align="center"/>
<el-table-column prop="purchaseAmount" min-width="100" label="采购数量" align="center" />
<!-- <el-table-column prop="purchaseRemAmount" min-width="100" label="剩余数量" align="center"/>-->
<el-table-column prop="purchaseRemAmounts" min-width="170" align="center">
<template #header><span class="hl-table_header">*</span>入库数量</template>
<template #default="scope">
<el-form-item :prop="`${scope.$index}.purchaseRemAmounts`" class="mb-0px!">
<el-input-number style="width: 100%" v-model="scope.row.purchaseRemAmounts" placeholder="入库数量" :min="0" :precision="2" />
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="purchaseRemAmounts" min-width="170" align="center" label="入库数量"/>
<!-- <template #header><span class="hl-table_header">*</span>入库数量</template>-->
<!-- <template #default="scope">-->
<!-- <el-form-item :prop="`${scope.$index}.purchaseRemAmounts`" class="mb-0px!">-->
<!-- <el-input-number style="width: 100%" v-model="scope.row.purchaseRemAmounts" placeholder="入库数量" :min="0" :precision="2" />-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="estimatedPrice" min-width="170" label="单价" align="center">
<template #header>单价</template>
<template #default="scope">
@ -189,6 +189,8 @@ import {dateFormatter1} from "@/utils/formatTime";
import * as PurchaseOrderNoDetailApi from "@/api/heli/purchaseordernodetail";
import download from "@/utils/download";
import {exportExcel} from "@/api/heli/purchaseordernodetail";
import axios from "axios";
import {getAccessToken, getTenantId} from "@/utils/auth";
defineOptions({ name: 'PurchaseordernopartReceived' })
const userStore = useUserStore()
const username = userStore.getUser.nickname
@ -347,10 +349,13 @@ const getList = async () => {
try {
queryParams.ids = undefined
const data = await PurchaseOrderNoDetailApi.getReceiveGoodDetail(queryParams)
list.value = data.list
list.value.forEach(item=>{
item.isSelected=false
if (item.receivingStatus!=3){
item.arriveTime=null
}
})
list.value = data.list
total.value = data.total
} finally {
loading.value = false
@ -385,12 +390,38 @@ const handleExportDetail = async () => {
await message.exportConfirm()
const ids = list.map(item => item.id).join(',');
queryParams.ids=ids
//
exportLoading.value = true
const data = await PurchaseOrderNoDetailApi.exportExcel(queryParams);
download.excel(data, '零件采购收货.xlsx')
loading.value = true;
// ID
const baseUrl = import.meta.env.VITE_BASE_URL;
// 使axios
const response = await axios({
url: baseUrl+'/admin-api/heli/purchase-order-no-detail/exportExcel',
method: 'get',
headers: { // headersheader
'tenant-id': getTenantId(),
'Authorization': getAccessToken()
},
params: {
ids: queryParams.ids ? queryParams.ids : undefined
},
responseType: 'blob' // blob
})
//
const url = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', '零件采购收货.xlsx') //
document.body.appendChild(link)
link.click()
//
document.body.removeChild(link)
window.URL.revokeObjectURL(url)
} catch {
} finally {
loading.value = false;
exportLoading.value = false
queryParams.ids=undefined
}

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import { onMounted, computed, ref } from 'vue'
import { onLoad, onShow } from '@dcloudio/uni-app'
import { getListAPI, getDictAPI,postOperateAPIZF ,getListAPIWX} from '@/services/pgMaster'
import {getListAPI, getDictAPI, postOperateAPIZF, getListAPIWX, qualified} from '@/services/pgMaster'
import { useLoginStore } from '@/stores/modules/login'
import { formatDate } from '@/utils/index'
@ -10,6 +10,8 @@ const userId = userStore.userInfo.userId
//
const isFinish = ref(false)
//
const isScan = ref(false)
//
const isTriggered = ref(false)
// porps
@ -18,7 +20,7 @@ const props = defineProps<{
}>()
const statusText = computed(() => {
const text = props.orderState == '0' ? '检验' : '查看'
const text = props.orderState == '0' ? '合格' : '查看'
return text
})
//
@ -35,7 +37,8 @@ dispatchType: "ASSEMBLE",
//
isReport: 1,
//
dispatchStatus:2
dispatchStatus:2,
type:0
}
const dataList = ref([])
const searchVal = ref("");
@ -60,6 +63,7 @@ const saveSearchValue = (value: string) => {
const getListData = async () => {
queryParams.pgType = props.orderState;
isScan.value=false
// 退
if (isLoading.value) return
if (isFinish.value === true) {
@ -72,25 +76,35 @@ const getListData = async () => {
const data = await getListAPIWX(queryParams)
isLoading.value = false
if (data.data!=null){
uni.showToast({ title: data.data, icon: 'none' })
isScan.value=true
}
data.list.forEach((e) => {
e.orderTime = formatDate(e.orderTime, 'YYYY-MM-DD')
e.startTime = formatDate(e.startTime, 'YYYY-MM-DD')
e.entTime = formatDate(e.entTime, 'YYYY-MM-DD')
})
//
dataList.value.push(...data.list)
//
if (queryParams.pageNo < data.total) {
//
queryParams.pageNo++
isFinish.value = false
} else {
//
isFinish.value = true
}
if (data.msg){
isFinish.value = false
}
} catch (e){
} finally {
isLoading.value = false
isFinish.value = true
queryParams.type=0
}
@ -111,6 +125,7 @@ onMounted(async () => {
// })
const handleSearch = async (e) => {
queryParams.subOrDetailName = e.inputValue;
queryParams.type=1
queryParams.pageNo = 1;
isFinish.value = false;
dataList.value = [];
@ -132,15 +147,27 @@ const handleScan = async() => {
success: async(res) => {
searchVal.value = res.result
await handleSearch({ inputValue: res.result })
if (isScan.value){
handleScan()
}
},
fail: () => {
uni.showToast({ title: '扫码失败', icon: 'none' })
uni.showToast({ title: '扫码失败或用户取消扫码', icon: 'none' })
}
})
}
const handleDetail = (item) => {
const url = `/pages/pgMaster/pgMaster-detail?id=${item.id}`
uni.navigateTo({ url })
const handleDetail =async (item) => {
// const url = `/pages/pgMaster/pgMaster-detail?id=${item.id}`
// uni.navigateTo({ url })
var newVar = await qualified(item.id);
if (newVar.data){
uni.showToast({ title: newVar.data, icon: 'none' })
}
queryParams.pageNo = 1
dataList.value = []
isFinish.value = false
await getListData()
}
//
@ -249,26 +276,28 @@ const onRefresherrefresh = async () => {
<view class="label">派工数量</view>
<view class="val">{{item.amount}}</view>
</view>
<view class="row-item" v-if="props.orderState != '0'">
<view class="label">检验结果: {{ item.isQua }}</view>
</view>
</view>
<view class="product-row">
<!-- <view class="product-row">-->
<!-- <view class="row-item">
<view class="label">预计工时</view>
<view class="val">{{ item.gongShi }}</view>
</view> -->
<view class="row-item">
<view class="label">总报工数量</view>
<view class="val high-color">{{item.amounts}}</view>
</view>
<view class="row-item">
<view class="label">总报工工时</view>
<view class="val high-color">{{ item.workTime }}</view>
</view>
</view>
<!-- <view class="row-item">-->
<!-- <view class="label">总报工数量</view>-->
<!-- <view class="val high-color">{{item.amounts}}</view>-->
<!-- </view>-->
<!-- <view class="row-item">-->
<!-- <view class="label">总报工工时</view>-->
<!-- <view class="val high-color">{{ item.workTime }}</view>-->
<!-- </view>-->
<!-- </view>-->
<!-- <view class="product-item">预计生产日期{{ item.startTime }} {{ item.entTime }}</view> -->
</view>
<view class="statusText" @click="handleDetail(item)">{{ statusText }}</view>
<view class="statusText" @click="handleDetail(item)" v-if="props.orderState == '0' ">{{ statusText }}</view>
</view>
<!-- 底部提示文字 -->
<view class="loading-text" :style="{ paddingBottom: safeAreaInsets?.bottom + 'px' }">

View File

@ -25,18 +25,18 @@ export const getListAPIWX = (data: Object) => {
/**
* ///
*/
export const updateBaoGong = (zid,progress,imageLink) => {
const data = {
zid: zid,
progress: progress,
imageLink: imageLink
};
return http<any[]>({
method: 'POST',
url: '/heli/process-design/updateBaoGong',
data,
})
}
// export const updateBaoGong = (zid,progress,imageLink) => {
// const data = {
// zid: zid,
// progress: progress,
// imageLink: imageLink
// };
// return http<any[]>({
// method: 'POST',
// url: '/heli/process-design/updateBaoGong',
// data,
// })
// }
// 报工记录分页查询
export const getTaskRepotPageAPI = (data: Object) => {
@ -98,3 +98,13 @@ export const validExceed = (id: Number,amount:Number) => {
})
}
/**
* -
*/
export const qualified = (id: Number) => {
return http<any[]>({
method: 'GET',
url: '/heli/pg-master/qualified?id='+id,
})
}