Merge remote-tracking branch 'origin/main'

# Conflicts:
#	mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue
This commit is contained in:
think 2025-02-19 10:49:44 +08:00
commit d4b45af32c
47 changed files with 1041 additions and 324 deletions

View File

@ -63,7 +63,7 @@ public interface ErrorCodeConstants {
ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在"); ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在");
ErrorCode STORAGE_CHECK_NOT_EXISTS = new ErrorCode(1_003_007, "库存盘点不存在"); ErrorCode STORAGE_CHECK_NOT_EXISTS = new ErrorCode(1_003_007, "库存盘点不存在");
ErrorCode STORAGE_CHECK_MAT_NOT_EXISTS = new ErrorCode(1_003_008, "盘点物料不存在"); ErrorCode STORAGE_CHECK_MAT_NOT_EXISTS = new ErrorCode(1_003_008, "盘点物料不存在");
ErrorCode BEFORE_STORAGE_NOT_EXISTS = new ErrorCode(1_003_009, "物料原仓库查询错误");
/************订单管理***********/ /************订单管理***********/
ErrorCode PROJECT_ORDER_NOT_EXISTS = new ErrorCode(1_004_001, "项目订单不存在"); ErrorCode PROJECT_ORDER_NOT_EXISTS = new ErrorCode(1_004_001, "项目订单不存在");
/************发货管理***********/ /************发货管理***********/

View File

@ -43,7 +43,9 @@ public class AttentiontodoRespVO {
@Schema(description = "提醒周期(天)") @Schema(description = "提醒周期(天)")
@ExcelProperty("提醒周期(天)") @ExcelProperty("提醒周期(天)")
private String remindtime; private String remindtime;
@Schema(description = "提醒天数")
@ExcelProperty("提醒天数")
private String evday;
@Schema(description = "提醒人") @Schema(description = "提醒人")
@ExcelProperty("提醒人") @ExcelProperty("提醒人")
private String remindman; private String remindman;

View File

@ -34,6 +34,9 @@ public class AttentiontodoSaveReqVO {
@Schema(description = "提醒周期(天)") @Schema(description = "提醒周期(天)")
private String remindtime; private String remindtime;
@Schema(description = "提醒天数")
private String evday;
@Schema(description = "提醒人") @Schema(description = "提醒人")
private String remindman; private String remindman;

View File

@ -2,12 +2,18 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagemat;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StorageSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.StorageSaveReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper;
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
import com.chanko.yunxi.mes.module.heli.service.bdgzsomthing.bdgzsomthingService;
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService; import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService;
@ -55,7 +61,12 @@ public class StorageMatController {
@Resource @Resource
private StorageMatService storageMatService; private StorageMatService storageMatService;
@Resource
private StorageMapper storageMapper;
@Resource
private bdgzsomthingService bdgzsomthingService;
@Resource
private StorageLogNowMapper storageLogNowMapper;
@Resource @Resource
private SerialNumberService serialNumberService; private SerialNumberService serialNumberService;
@ -86,12 +97,51 @@ public class StorageMatController {
@Operation(summary = "批量创建入/出库物料") @Operation(summary = "批量创建入/出库物料")
@PreAuthorize("@ss.hasPermission('heli:storage-mat:create')") @PreAuthorize("@ss.hasPermission('heli:storage-mat:create')")
public CommonResult<Long> createStorageMat(@Valid @RequestBody List<StorageMatSaveReqVO> createReqVO,@RequestParam("stockid") Long stockid) { public CommonResult<Long> createStorageMat(@Valid @RequestBody List<StorageMatSaveReqVO> createReqVO,@RequestParam("stockid") Long stockid) {
storageMatService.deleteStorageMatList(stockid); storageMatService.deleteStorageMatList(stockid);
List<String> attr3List = new ArrayList<>();
for (StorageMatSaveReqVO item : createReqVO) { for (StorageMatSaveReqVO item : createReqVO) {
item.setId(null); item.setId(null);
if (item.getMatCode()!=null){
attr3List.add(item.getMatCode());
}
storageMatService.createStorageMat(item); storageMatService.createStorageMat(item);
} }
//如果上面插入数据没报错
StorageDO storageDO = storageMapper.selectById(stockid);
//查询入库单因为要删待办
if (storageDO.getStockType()==1){
//如果是要入库就要删除待办了
//查有没有这个物料
if (CollUtil.isNotEmpty(attr3List)){
//查找待办中有提醒的
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingService.selectSafeStorage(attr3List);
if (CollUtil.isNotEmpty(bdgzsomthingDOList)){
//如果有这个物料在提醒就要看这次入库有没有满足需求如果满足了就删除提醒
List<String> matCodeInDb = bdgzsomthingDOList.stream()
.map(bdgzsomthingDO::getAttr3)
.collect(Collectors.toList());
//查出来仍然满足条件的 这部分是不需要更新的
List<StorageLogNowDO> storageLogNowDOS = storageLogNowMapper.selectPagesmall2(matCodeInDb);
//更新不满足安全库存小于实时库存的即不在storageLogNowDOS里面的
Set<String> matCodesInStorageLog = storageLogNowDOS.stream()
.map(StorageLogNowDO::getMatCode)
.collect(Collectors.toSet());
// 过滤bdgzsomthingDOList只保留attr3不在matCodesInStorageLog中的元素
List<bdgzsomthingDO> filteredList = bdgzsomthingDOList.stream()
.filter(bdgzsomthingDO -> !matCodesInStorageLog.contains(bdgzsomthingDO.getAttr3()))
.collect(Collectors.toList());
for (bdgzsomthingDO bdgzsomthingDO : filteredList) {
//录入安全库存后修改为0
bdgzsomthingDO.setAttr4("1");
bdgzsomthingDO.setAttr12("0");
bdgzsomthingService.updateById(bdgzsomthingDO);
}
}
}
}
return success(1L); return success(1L);
} }
@ -143,8 +193,7 @@ public class StorageMatController {
@Operation(summary = "导出入/出库物料 Excel") @Operation(summary = "导出入/出库物料 Excel")
@PreAuthorize("@ss.hasPermission('heli:storage-mat:export')") @PreAuthorize("@ss.hasPermission('heli:storage-mat:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportStorageMatExcel(@Valid StorageMatPageReqVO pageReqVO, public void exportStorageMatExcel(@Valid StorageMatPageReqVO pageReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<StorageMatDO> list = storageMatService.getStorageMatPage(pageReqVO); List<StorageMatDO> list = storageMatService.getStorageMatPage(pageReqVO);
// 导出 Excel // 导出 Excel

View File

@ -22,6 +22,7 @@ public class StorageMatSaveReqVO {
@NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空") @NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空")
private Long matId; private Long matId;
private String matCode;
@Schema(description = "仓库 Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31860") @Schema(description = "仓库 Id对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31860")
@NotNull(message = "仓库 Id对应 wms_wh 表中的Id不能为空") @NotNull(message = "仓库 Id对应 wms_wh 表中的Id不能为空")
private Long whId; private Long whId;

View File

@ -56,6 +56,10 @@ public class AttentiontodoDO extends BaseDO {
* 提醒周期 * 提醒周期
*/ */
private String remindtime; private String remindtime;
/**
* 提醒天数
*/
private String evday;
/** /**
* 提醒人 * 提醒人
*/ */

View File

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder; package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*; import lombok.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -89,6 +90,8 @@ public class DeliverOrderSubDO extends BaseDO {
/** /**
* 销售订单子项id * 销售订单子项id
*/ */
@TableField(exist = false)
private Long saleOrderId;
private Long saleOrderSubId; private Long saleOrderSubId;
/** /**
* 销售订单编号 * 销售订单编号

View File

@ -64,6 +64,10 @@ public class MaterialPlanBoomDO extends BaseDO {
@TableField(exist = false) @TableField(exist = false)
private String compositionName; private String compositionName;
@TableField(exist = false) @TableField(exist = false)
private String name;
@TableField(exist = false)
private Long compositionId; private Long compositionId;
@TableField(exist = false)
private String projectMaterialPlanNo;
} }

View File

@ -74,7 +74,8 @@ public class MaterialPlanDetailDO extends BaseDO {
private String projectMaterialPlanNo; private String projectMaterialPlanNo;
@TableField(exist = false) @TableField(exist = false)
private String named; private String named;
@TableField(exist = false)
private String name;
private String creator; private String creator;
} }

View File

@ -93,7 +93,8 @@ public class TaskDispatchDO extends BaseDO {
@TableField(exist = false) @TableField(exist = false)
private String projectSubCode; private String projectSubCode;
@TableField(exist = false)
private String name;
@TableField(exist = false) @TableField(exist = false)
private String planCode; private String planCode;

View File

@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.module.heli.controller.admin.bdgzsomthing.vo.bdgzsomthingPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.bdgzsomthing.vo.bdgzsomthingPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -21,35 +22,80 @@ public interface bdgzsomthingMapper extends BaseMapperX<bdgzsomthingDO> {
List<bdgzsomthingDO> selectPagelist(bdgzsomthingDO BdgzsomthingDO); List<bdgzsomthingDO> selectPagelist(bdgzsomthingDO BdgzsomthingDO);
default PageResult<bdgzsomthingDO> selectPage(bdgzsomthingPageReqVO reqVO) { default PageResult<bdgzsomthingDO> selectPage(bdgzsomthingPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<bdgzsomthingDO>() MPJLambdaQueryWrapper<bdgzsomthingDO> query = new MPJLambdaQueryWrapper<>();
.betweenIfPresent(bdgzsomthingDO::getCreateTime, reqVO.getCreateTime()) if (reqVO.getCreateTime() != null) {
.eqIfPresent(bdgzsomthingDO::getClick, reqVO.getClick()) query.apply("create_time BETWEEN {0} AND {1}", reqVO.getCreateTime()[0], reqVO.getCreateTime()[1]);
.eqIfPresent(bdgzsomthingDO::getClickid, reqVO.getClickid()) }
.likeIfPresent(bdgzsomthingDO::getThingname, reqVO.getThingname())
.eqIfPresent(bdgzsomthingDO::getThings, reqVO.getThings()) if (reqVO.getClick() != null) {
.eqIfPresent(bdgzsomthingDO::getLevel, reqVO.getLevel()) query.eq(bdgzsomthingDO::getClick, reqVO.getClick());
// .likeIfPresent(bdgzsomthingDO::getShowname, reqVO.getShowname()) }
.eqIfPresent(bdgzsomthingDO::getDborgz, reqVO.getDborgz())
.eqIfPresent(bdgzsomthingDO::getYesorno, reqVO.getYesorno()) if (reqVO.getClickid() != null) {
.eqIfPresent(bdgzsomthingDO::getAttr1, reqVO.getAttr1()) query.eq(bdgzsomthingDO::getClickid, reqVO.getClickid());
.eqIfPresent(bdgzsomthingDO::getAttr2, reqVO.getAttr2()) }
.eqIfPresent(bdgzsomthingDO::getAttr3, reqVO.getAttr3())
.eqIfPresent(bdgzsomthingDO::getAttr4, "0") if (reqVO.getThingname() != null) {
.eqIfPresent(bdgzsomthingDO::getAttr5, reqVO.getAttr5()) query.like(bdgzsomthingDO::getThingname, reqVO.getThingname());
.betweenIfPresent(bdgzsomthingDO::getClicktime, reqVO.getClicktime()) }
.betweenIfPresent(bdgzsomthingDO::getNowtime, reqVO.getNowtime())
.eqIfPresent(bdgzsomthingDO::getAttr6, reqVO.getAttr6()) if (reqVO.getThings() != null) {
.eqIfPresent(bdgzsomthingDO::getAttr7, reqVO.getAttr7()) query.eq(bdgzsomthingDO::getThings, reqVO.getThings());
.eqIfPresent(bdgzsomthingDO::getAttr8, reqVO.getAttr8()) }
.eqIfPresent(bdgzsomthingDO::getAttr9, reqVO.getAttr9())
.eqIfPresent(bdgzsomthingDO::getAttr10, reqVO.getAttr10()) if (reqVO.getLevel() != null) {
.eqIfPresent(bdgzsomthingDO::getAttr11, reqVO.getAttr11()) query.eq(bdgzsomthingDO::getLevel, reqVO.getLevel());
.eqIfPresent(bdgzsomthingDO::getAttr12, reqVO.getAttr12()) }
.eqIfPresent(bdgzsomthingDO::getAttr13, reqVO.getAttr13())
.eqIfPresent(bdgzsomthingDO::getAttr14, reqVO.getAttr14()) if (reqVO.getDborgz() != null) {
.eqIfPresent(bdgzsomthingDO::getAttr15, reqVO.getAttr15()) query.eq(bdgzsomthingDO::getDborgz, reqVO.getDborgz());
.ne(bdgzsomthingDO::getAttr12,1) }
.orderByDesc(bdgzsomthingDO::getId));
if (reqVO.getYesorno() != null) {
query.eq(bdgzsomthingDO::getYesorno, reqVO.getYesorno());
}
if (reqVO.getAttr1() != null) {
query.eq(bdgzsomthingDO::getAttr1, reqVO.getAttr1());
}
// ... 同样的逻辑应用于其他属性 ...
if (reqVO.getAttr15() != null) {
query.eq(bdgzsomthingDO::getAttr15, reqVO.getAttr15());
}
query.ne(bdgzsomthingDO::getAttr12, "1");
query.orderByDesc(bdgzsomthingDO::getId);
// return selectPage(reqVO, new LambdaQueryWrapperX<bdgzsomthingDO>()
// .betweenIfPresent(bdgzsomthingDO::getCreateTime, reqVO.getCreateTime())
// .eqIfPresent(bdgzsomthingDO::getClick, reqVO.getClick())
// .eqIfPresent(bdgzsomthingDO::getClickid, reqVO.getClickid())
// .likeIfPresent(bdgzsomthingDO::getThingname, reqVO.getThingname())
// .eqIfPresent(bdgzsomthingDO::getThings, reqVO.getThings())
// .eqIfPresent(bdgzsomthingDO::getLevel, reqVO.getLevel())
//// .likeIfPresent(bdgzsomthingDO::getShowname, reqVO.getShowname())
// .eqIfPresent(bdgzsomthingDO::getDborgz, reqVO.getDborgz())
// .eqIfPresent(bdgzsomthingDO::getYesorno, reqVO.getYesorno())
// .eqIfPresent(bdgzsomthingDO::getAttr1, reqVO.getAttr1())
// .eqIfPresent(bdgzsomthingDO::getAttr2, reqVO.getAttr2())
// .eqIfPresent(bdgzsomthingDO::getAttr3, reqVO.getAttr3())
// .eqIfPresent(bdgzsomthingDO::getAttr4, "0")
// .eqIfPresent(bdgzsomthingDO::getAttr5, reqVO.getAttr5())
// .betweenIfPresent(bdgzsomthingDO::getClicktime, reqVO.getClicktime())
// .betweenIfPresent(bdgzsomthingDO::getNowtime, reqVO.getNowtime())
// .eqIfPresent(bdgzsomthingDO::getAttr6, reqVO.getAttr6())
// .eqIfPresent(bdgzsomthingDO::getAttr7, reqVO.getAttr7())
// .eqIfPresent(bdgzsomthingDO::getAttr8, reqVO.getAttr8())
// .eqIfPresent(bdgzsomthingDO::getAttr9, reqVO.getAttr9())
// .eqIfPresent(bdgzsomthingDO::getAttr10, reqVO.getAttr10())
// .eqIfPresent(bdgzsomthingDO::getAttr11, reqVO.getAttr11())
// .eqIfPresent(bdgzsomthingDO::getAttr12, reqVO.getAttr12())
// .eqIfPresent(bdgzsomthingDO::getAttr13, reqVO.getAttr13())
// .eqIfPresent(bdgzsomthingDO::getAttr14, reqVO.getAttr14())
// .eqIfPresent(bdgzsomthingDO::getAttr15, reqVO.getAttr15())
// .orderByDesc(bdgzsomthingDO::getId));
return selectPage(reqVO,query);
} }
void updatebdgzsomthingbyid(bdgzsomthingDO BdgzsomthingDO); void updatebdgzsomthingbyid(bdgzsomthingDO BdgzsomthingDO);
@ -61,11 +107,18 @@ public interface bdgzsomthingMapper extends BaseMapperX<bdgzsomthingDO> {
//00 //00
int deletebdgzsByThings( @Param("things") String things); int deletebdgzsByThings( @Param("things") String things);
List<bdgzsomthingDO> selecteqint(bdgzsomthingDO qcObject); List<bdgzsomthingDO> selecteqint(bdgzsomthingDO qcObject);
//查询之前删除了但是没录入对应表单数据的
List<bdgzsomthingDO> selecteqintDeletedButNoOver(bdgzsomthingDO qcObject);
//查询之前有的历史数据
List<bdgzsomthingDO> selecteqintNoDeletedAndNoOver(bdgzsomthingDO qcObject);
List<bdgzsomthingDO> selecteqintq(bdgzsomthingDO qcObject); List<bdgzsomthingDO> selecteqintq(bdgzsomthingDO qcObject);
List<bdgzsomthingDO> selecteqintone(bdgzsomthingDO qcObject); List<bdgzsomthingDO> selecteqintone(bdgzsomthingDO qcObject);
bdgzsomthingDO selecteqintzq(bdgzsomthingDO qcObject); bdgzsomthingDO selecteqintzq(bdgzsomthingDO qcObject);
List<bdgzsomthingDO> selecteqintAttr12IsNull(@Param("attr3")String attr3,@Param("things")String things);
void updateYnAndAttr4(@Param("id")String id,@Param("attr4")String attr4,@Param("yn")String yn);
int deleteByIdNew(@Param("id") Long id); int deleteByIdNew(@Param("id") Long id);
int deleteByIdNew1(@Param("id") Long id); int deleteByIdNew1(@Param("id") Long id);
void deleteOrder(bdgzsomthingDO BdgzsomthingDO); void deleteOrder(bdgzsomthingDO BdgzsomthingDO);
List<bdgzsomthingDO> selectSafeStorage(@Param("attr3List") List<String> attr3List);
} }

View File

@ -7,6 +7,7 @@ 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.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; 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.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
@ -15,6 +16,7 @@ import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
@ -66,6 +68,8 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
return selectPage(reqVO,query); return selectPage(reqVO,query);
} }
List<MaterialPlanBoomDO> selectafterten(@Param("id") Long txrid, @Param("evday") String evday);
// default PageResult<MaterialPlanBoomDO> selectPage(MaterialPlanBoomPageReqVO reqVO) { // default PageResult<MaterialPlanBoomDO> selectPage(MaterialPlanBoomPageReqVO reqVO) {
// return selectPage(reqVO, new LambdaQueryWrapperX<MaterialPlanBoomDO>() // return selectPage(reqVO, new LambdaQueryWrapperX<MaterialPlanBoomDO>()
// .eqIfPresent(MaterialPlanBoomDO::getId, reqVO.getId()) // .eqIfPresent(MaterialPlanBoomDO::getId, reqVO.getId())

View File

@ -16,6 +16,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mysql.cj.x.protobuf.MysqlxDatatypes; import com.mysql.cj.x.protobuf.MysqlxDatatypes;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
@ -78,7 +79,7 @@ public interface MaterialPlanDetailMapper extends BaseMapperX<MaterialPlanDetail
// .orderByDesc(MaterialPlanDetailDO::getId)); // .orderByDesc(MaterialPlanDetailDO::getId));
// } // }
List<MaterialPlanDetailDO> selectafterten(Long id); List<MaterialPlanDetailDO> selectafterten(@Param("id") Long id, @Param("evday") String evday);
List<MaterialPlanDetailDO> selectafterten1(); List<MaterialPlanDetailDO> selectafterten1();
} }

View File

@ -87,7 +87,6 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
query.orderByDesc(PgMasterLineDO::getPgNumber); query.orderByDesc(PgMasterLineDO::getPgNumber);
}else{ }else{
query.orderByAsc(PgMasterLineDO::getPgNumber); query.orderByAsc(PgMasterLineDO::getPgNumber);
// query.orderByDesc(PlanDO::getId);
} }
query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser()) query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
.eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType()) .eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType())

View File

@ -47,9 +47,9 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> {
.leftJoin("(select progress,process_design_id,blueprint_link FROM pro_process_design_progress where id in (select max(id) FROM pro_process_design_progress GROUP BY process_design_id) ) z on z.process_design_id = t.id") .leftJoin("(select progress,process_design_id,blueprint_link FROM pro_process_design_progress where id in (select max(id) FROM pro_process_design_progress GROUP BY process_design_id) ) z on z.process_design_id = t.id")
.disableSubLogicDel(); .disableSubLogicDel();
if(reqVO.getPgType()!=null && reqVO.getPgType() == 0){ if(reqVO.getPgType()!=null && reqVO.getPgType() == 0){
query.orderByAsc(ProjectOrderDO::getCode); query.orderByAsc(PlanDO::getPlanNo);
}else { }else {
query.orderByDesc(ProjectOrderDO::getCode); query.orderByDesc(PlanDO::getPlanNo);
} }

View File

@ -53,6 +53,14 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
return selectPage(reqVO, query); return selectPage(reqVO, query);
} }
default ProjectOrderDO selectProjectOrderById(Long id){
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProjectOrderDO.class)
.select("a.nickname as businessManName")
.leftJoin(AdminUserDO.class,"a",AdminUserDO::getId,ProjectOrderDO::getBusinessMan)
.eq(ProjectOrderDO::getId,id);
return selectOne(query);
}
default PageResult<ProjectOrderDO> selectPage(ProjectOrderPageReqVO reqVO) { default PageResult<ProjectOrderDO> selectPage(ProjectOrderPageReqVO reqVO) {
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();

View File

@ -28,6 +28,7 @@ public interface StorageLogNowMapper extends BaseMapperX<StorageLogNowDO> {
List<StorageLogNowDO> selectPagesmall(Long id); List<StorageLogNowDO> selectPagesmall(Long id);
List<StorageLogNowDO> selectPagesmall1(); List<StorageLogNowDO> selectPagesmall1();
List<StorageLogNowDO> selectPagesmall2(List<String> matCode);
List<StorageLogNowDO> selectPagesmallbyid(String id); List<StorageLogNowDO> selectPagesmallbyid(String id);
default PageResult<StorageLogNowDO> selectPage(StorageLogPageReqVO reqVO) { default PageResult<StorageLogNowDO> selectPage(StorageLogPageReqVO reqVO) {
MPJLambdaWrapper<StorageLogNowDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<StorageLogNowDO> query = new MPJLambdaWrapper<>();

View File

@ -74,6 +74,7 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
.disableSubLogicDel() .disableSubLogicDel()
.eq(StorageMatDO::getProjectNo,subId) .eq(StorageMatDO::getProjectNo,subId)
.eq(StorageMatDO::getMatId,materialId) .eq(StorageMatDO::getMatId,materialId)
.eq(StorageDO::getStatus,2)
.eq(StorageDO::getStockType,"1") .eq(StorageDO::getStockType,"1")
.eq(StorageDO::getStockInType,"1") .eq(StorageDO::getStockInType,"1")
; ;
@ -92,6 +93,7 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
.disableSubLogicDel() .disableSubLogicDel()
.eq(StorageMatDO::getProjectNo,subId) .eq(StorageMatDO::getProjectNo,subId)
.eq(StorageMatDO::getMatId,materialId) .eq(StorageMatDO::getMatId,materialId)
.eq(StorageDO::getStatus,2)
.eq(StorageDO::getStockType,"2") .eq(StorageDO::getStockType,"2")
.eq(StorageDO::getStockInType,"5") .eq(StorageDO::getStockInType,"5")
; ;

View File

@ -14,6 +14,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDis
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO;
@ -115,6 +116,7 @@ public class CrossOrderManager {
eq(ProjectOrderDO::getId, projectOrderId); eq(ProjectOrderDO::getId, projectOrderId);
last("LIMIT 1 FOR UPDATE"); last("LIMIT 1 FOR UPDATE");
}}); }});
PlanDO planDO = planService.getPlanByProjectId(Long.valueOf(projectOrderId));
// 查询关联子项 // 查询关联子项
List<ProjectOrderSubDO> projectOrderSubDOList = projectOrderSubMapper.selectListByProjectOrderId(projectOrderDO.getId()); List<ProjectOrderSubDO> projectOrderSubDOList = projectOrderSubMapper.selectListByProjectOrderId(projectOrderDO.getId());
@ -126,6 +128,7 @@ public class CrossOrderManager {
.eq(DeliverOrderDO::getDeliverStatus, DeliverOrderStatusEnum.DELIVER.getCode()) .eq(DeliverOrderDO::getDeliverStatus, DeliverOrderStatusEnum.DELIVER.getCode())
.in(DeliverOrderSubDO::getSaleOrderSubId, projectOrderSubDOList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toSet())); .in(DeliverOrderSubDO::getSaleOrderSubId, projectOrderSubDOList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toSet()));
List<DeliverOrderSubDO> historyDeliveredSubList = deliverOrderSubMapper.selectList(historyDeliveredSubQuery); List<DeliverOrderSubDO> historyDeliveredSubList = deliverOrderSubMapper.selectList(historyDeliveredSubQuery);
//如果历史没发过
if(historyDeliveredSubList.isEmpty()) return; if(historyDeliveredSubList.isEmpty()) return;
Map<Long, List<DeliverOrderSubDO>> historyDeliveredSubsGroupBySaleSubId = historyDeliveredSubList.stream().collect(Collectors.groupingBy(DeliverOrderSubDO::getSaleOrderSubId)); Map<Long, List<DeliverOrderSubDO>> historyDeliveredSubsGroupBySaleSubId = historyDeliveredSubList.stream().collect(Collectors.groupingBy(DeliverOrderSubDO::getSaleOrderSubId));
@ -139,6 +142,8 @@ public class CrossOrderManager {
if(allDone){ if(allDone){
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode()); projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode());
projectOrderDO.setDeliveryDate(deliverDate); projectOrderDO.setDeliveryDate(deliverDate);
planDO.setStatus(3);
planService.updateById(planDO);
}else{ }else{
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.PART.getCode()); projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.PART.getCode());
} }
@ -146,6 +151,63 @@ public class CrossOrderManager {
} }
}
/**
* 刷新项目订单发货状态
* @param deliverOrderSubs
*/
@Transactional(rollbackFor = Exception.class)
public void refreshProjectOrderDeliverStatusNew( List<DeliverOrderSubDO> deliverOrderSubs,LocalDateTime deliverDate) {
//按销售订单号分组
Map<Long, List<DeliverOrderSubDO>> groupBySaleId = deliverOrderSubs.stream().collect(Collectors.groupingBy(DeliverOrderSubDO::getSaleOrderId));
for (Map.Entry<Long, List<DeliverOrderSubDO>> projectIdEntity : groupBySaleId.entrySet()) {
ProjectOrderDO projectOrderDO = projectOrderMapper.selectOne(new LambdaQueryWrapper<ProjectOrderDO>() {{
eq(ProjectOrderDO::getId, projectIdEntity.getKey());
last("LIMIT 1 FOR UPDATE");
}});
PlanDO planDO = planService.getPlanByProjectId(Long.valueOf(projectIdEntity.getKey()));
// 查询关联子项
List<ProjectOrderSubDO> projectOrderSubDOList = projectOrderSubMapper.selectListByProjectOrderId(projectOrderDO.getId());
// 查询发货记录
MPJLambdaWrapper<DeliverOrderSubDO> historyDeliveredSubQuery = new MPJLambdaWrapper<>();
historyDeliveredSubQuery.selectAll(DeliverOrderSubDO.class)
.leftJoin(DeliverOrderDO.class, DeliverOrderDO::getId, DeliverOrderSubDO::getDeliveryOrderId)
.eq(DeliverOrderDO::getDeliverStatus, DeliverOrderStatusEnum.DELIVER.getCode())
.in(DeliverOrderSubDO::getSaleOrderSubId, projectOrderSubDOList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toSet()));
List<DeliverOrderSubDO> historyDeliveredSubList = deliverOrderSubMapper.selectList(historyDeliveredSubQuery);
//如果历史没发过 以本次为准
if(historyDeliveredSubList.isEmpty()) {
historyDeliveredSubList = projectIdEntity.getValue();
}else {
historyDeliveredSubList.addAll(projectIdEntity.getValue());
}
Map<Long, List<DeliverOrderSubDO>> historyDeliveredSubsGroupBySaleSubId = historyDeliveredSubList.stream().collect(Collectors.groupingBy(DeliverOrderSubDO::getSaleOrderSubId));
// 考虑变更订单情况 只需判断历史发货是否大于等于订单子项数量
boolean allDone = projectOrderSubDOList.stream().allMatch(projectOrderSubDO -> {
List<DeliverOrderSubDO> historySubList = historyDeliveredSubsGroupBySaleSubId.get(projectOrderSubDO.getId());
int historyDeliveredAmount = historySubList == null || historySubList.isEmpty() ? 0 : historySubList.stream().mapToInt(DeliverOrderSubDO::getAmount).sum();
return historyDeliveredAmount >= projectOrderSubDO.getAmount();
});
if(allDone){
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode());
projectOrderDO.setDeliveryDate(deliverDate);
planDO.setStatus(3);
planService.updateById(planDO);
}else{
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.PART.getCode());
}
projectOrderMapper.updateById(projectOrderDO);
}
// 锁定订单
for (DeliverOrderSubDO deliverOrderSubDO : deliverOrderSubs) {
}
} }
/** /**

View File

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.heli.service.attentiontodo; package com.chanko.yunxi.mes.module.heli.service.attentiontodo;
import cn.hutool.core.util.ObjectUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -58,12 +59,16 @@ public class AttentiontodoServiceImpl implements AttentiontodoService {
attentiontodoMapper.deleteall(updateReqVO); attentiontodoMapper.deleteall(updateReqVO);
if(updateReqVO.getTaskDispatchDetails()!=null&&updateReqVO.getTaskDispatchDetails().size()>0) { if(updateReqVO.getTaskDispatchDetails()!=null&&updateReqVO.getTaskDispatchDetails().size()>0) {
Map<String, Object> mapp = (Map<String, Object>) updateReqVO.getTaskDispatchDetails().get(0); Map<String, Object> mapp = (Map<String, Object>) updateReqVO.getTaskDispatchDetails().get(0);
if (mapp.get("remindman") != null) { // if (mapp.get("remindman") != null) {
for (Object taskDispatchDetail : updateReqVO.getTaskDispatchDetails()) { for (Object taskDispatchDetail : updateReqVO.getTaskDispatchDetails()) {
Map<String, Object> map = (Map<String, Object>) taskDispatchDetail; Map<String, Object> map = (Map<String, Object>) taskDispatchDetail;
Object remindmanValue = map.get("remindman"); Object remindmanValue = map.get("remindman");
Object type = map.get("type"); Object type = map.get("type");
updateReqVO.setAttr4(remindmanValue.toString()); if ("1".equals(type.toString())&&remindmanValue==null){
updateReqVO.setAttr4(null);
}else {
updateReqVO.setAttr4(remindmanValue.toString());
}
updateReqVO.setAttr5(type.toString()); updateReqVO.setAttr5(type.toString());
updateReqVO.setAttr2(id + ""); updateReqVO.setAttr2(id + "");
updateReqVO.setId(null); updateReqVO.setId(null);
@ -71,7 +76,7 @@ public class AttentiontodoServiceImpl implements AttentiontodoService {
attentiontodoMapper.insert(attentiontodo); attentiontodoMapper.insert(attentiontodo);
} }
} }
} // }
} }
@Override @Override

View File

@ -63,4 +63,6 @@ public interface bdgzsomthingService {
void selectds(); void selectds();
public void selectSafeStorageAndDeliverOneYear(); public void selectSafeStorageAndDeliverOneYear();
public List<bdgzsomthingDO> selectSafeStorage(List<String> attr3List);
public int updateById(bdgzsomthingDO entity);
} }

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.service.bdgzsomthing; package com.chanko.yunxi.mes.module.heli.service.bdgzsomthing;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.useragent.UserAgentUtil; import cn.hutool.http.useragent.UserAgentUtil;
import cn.hutool.system.SystemUtil; import cn.hutool.system.SystemUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@ -10,6 +11,8 @@ import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO;
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.materialplandetail.MaterialPlanDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
@ -22,6 +25,8 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.weiXinXiaoXi.WeixinXiaoXi
import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjpgmaster.ZjPgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPlanDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPlanDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.pgmaster.PgMasterMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
@ -31,7 +36,9 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetai
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper;
import com.chanko.yunxi.mes.module.heli.enums.TaskDispatchTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.TaskDispatchTypeEnum;
import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService; import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService;
import com.chanko.yunxi.mes.module.heli.service.materialplan.MaterialPlanService;
import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi; import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi;
import com.chanko.yunxi.mes.module.system.api.user.dto.AdminUserRespDTO;
import com.chanko.yunxi.mes.module.system.controller.admin.user.UserController; import com.chanko.yunxi.mes.module.system.controller.admin.user.UserController;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
@ -49,6 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -60,6 +68,7 @@ import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.chanko.yunxi.mes.module.heli.controller.admin.bdgzsomthing.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.bdgzsomthing.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
@ -106,6 +115,11 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
private PgMasterMapper pgMasterMapper; private PgMasterMapper pgMasterMapper;
@Resource @Resource
private ProjectOrderMapper projectOrderMapper; private ProjectOrderMapper projectOrderMapper;
@Resource
private MaterialPlanBoomMapper materialPlanBoomMapper;
@Resource
private MaterialPlanMapper materialPlanMapper;
@Override @Override
public Long createbdgzsomthing(bdgzsomthingSaveReqVO createReqVO) { public Long createbdgzsomthing(bdgzsomthingSaveReqVO createReqVO) {
// 插入 // 插入
@ -216,6 +230,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
public List<bdgzsomthingDO> getbdgzsomthingPagelist(bdgzsomthingPageReqVO pageReqVO) { public List<bdgzsomthingDO> getbdgzsomthingPagelist(bdgzsomthingPageReqVO pageReqVO) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setClick(pageReqVO.getClick()); BdgzsomthingDO.setClick(pageReqVO.getClick());
return bdgzsomthingMapper.selectPagelist(BdgzsomthingDO); return bdgzsomthingMapper.selectPagelist(BdgzsomthingDO);
} }
@Override @Override
@ -227,6 +242,8 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
@Override @Override
public void selectds() { public void selectds() {
//删除质检,生产,装配,设计任务创建时间小于今天的不包含预期的内容 //删除质检,生产,装配,设计任务创建时间小于今天的不包含预期的内容
bdgzsomthingMapper.updatayesterday(); bdgzsomthingMapper.updatayesterday();
// System.out.println("执行定时任务:" + System.currentTimeMillis() / 1000); // System.out.println("执行定时任务:" + System.currentTimeMillis() / 1000);
@ -285,12 +302,12 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime(); LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime();
LocalDate projectEndDay = projectEndTime.toLocalDate(); LocalDate projectEndDay = projectEndTime.toLocalDate();
if (today.equals(projectEndDay.minusDays(1))) { if (today.equals(projectEndDay.minusDays(1))) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单明天到期");//事件名称 BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",明天到期");//事件名称
} else if (today.equals(projectEndDay)) { } else if (today.equals(projectEndDay)) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单今日到期");//事件名称 BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",今日到期");//事件名称
System.out.println("projectEndTime 是今天"); System.out.println("projectEndTime 是今天");
} else if (today.isAfter(projectEndDay)) { } else if (today.isAfter(projectEndDay)) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单已逾期");//事件名称 BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",已逾期");//事件名称
}else{ }else{
BdgzsomthingDO.setAttr4("1"); BdgzsomthingDO.setAttr4("1");
} }
@ -304,7 +321,18 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
else if(attentiontodoRespVO.getAttr5().equals("2")){ else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectOne(new LambdaQueryWrapper<TaskDispatchDO>().eq(TaskDispatchDO::getCode, deliverOrderDO.getCode()));
if (ObjectUtil.isNotEmpty(taskDispatchDO)){
AdminUserDO user = adminUserService.getUser(Long.valueOf(taskDispatchDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){ if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} }
@ -321,7 +349,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
//去重查询,重复则不加 //去重查询,重复则不加
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO); List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO);
System.out.println("生产任务单"+BdgzsomthingDO);
if(selecteqint.size()>0){ if(selecteqint.size()>0){
}else{ }else{
@ -374,11 +402,11 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime(); LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime();
LocalDate projectEndDay = projectEndTime.toLocalDate(); LocalDate projectEndDay = projectEndTime.toLocalDate();
if (today5.equals(projectEndDay.minusDays(1))) { if (today5.equals(projectEndDay.minusDays(1))) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单明天到期");//事件名称 BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",明天到期");//事件名称
} else if (today5.equals(projectEndDay)) { } else if (today5.equals(projectEndDay)) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单今日到期");//事件名称 BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",今日到期");//事件名称
} else if (today5.isAfter(projectEndDay)) { } else if (today5.isAfter(projectEndDay)) {
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单已逾期");//事件名称 BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",已逾期");//事件名称
}else{ }else{
BdgzsomthingDO.setAttr4("1"); BdgzsomthingDO.setAttr4("1");
} }
@ -392,7 +420,17 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
else if(attentiontodoRespVO.getAttr5().equals("2")){ else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectOne(new LambdaQueryWrapper<TaskDispatchDO>().eq(TaskDispatchDO::getCode, deliverOrderDO.getCode()));
if (ObjectUtil.isNotEmpty(taskDispatchDO)){
AdminUserDO user = adminUserService.getUser(Long.valueOf(taskDispatchDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){ if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} }
@ -687,7 +725,15 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
else if(attentiontodoRespVO.getAttr5().equals("2")){ else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
AdminUserDO user = adminUserService.getUser(Long.valueOf(deliverOrderDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){ if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} }
@ -731,6 +777,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
attentiontodoDO.setAttr5("1"); attentiontodoDO.setAttr5("1");
attentiontodoDO.setAttr4(userApi.getUser( Long.parseLong(storageLogNowDO.getCreator())).getNickname()); //改对应 attentiontodoDO.setAttr4(userApi.getUser( Long.parseLong(storageLogNowDO.getCreator())).getNickname()); //改对应
attentiontodoDO.setLevel("1"); attentiontodoDO.setLevel("1");
attentiontodoDO.setEvday("10");
attentiontodookddfh9.add(attentiontodoDO); attentiontodookddfh9.add(attentiontodoDO);
@ -756,13 +803,15 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
for (AttentiontodoDO attentiontodoRespVO : attentiontodookddfh9) { for (AttentiontodoDO attentiontodoRespVO : attentiontodookddfh9) {
List<MaterialPlanDetailDO> selectafterten = materialPlanDetailMapper.selectafterten(attentiontodoRespVO.getTxrid()); List<MaterialPlanDetailDO> selectafterten = materialPlanDetailMapper.selectafterten(attentiontodoRespVO.getTxrid(),attentiontodoRespVO.getEvday());
List<MaterialPlanBoomDO> selectafterten1 = materialPlanBoomMapper.selectafterten(attentiontodoRespVO.getTxrid(), attentiontodoRespVO.getEvday());
{ {
for (MaterialPlanDetailDO deliverOrderDO : selectafterten) { for (MaterialPlanDetailDO materialPlanDetailDO : selectafterten) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setAttr4("0");//是否点击 BdgzsomthingDO.setAttr4("0");//是否点击
BdgzsomthingDO.setThings("计划单号:"+deliverOrderDO.getProjectMaterialPlanNo()+"货物临近到货日期");//事件名称 BdgzsomthingDO.setThings("计划单号:"+materialPlanDetailDO.getProjectMaterialPlanNo()+" 物料:"+materialPlanDetailDO.getName()+",临近到货日期");//事件名称
BdgzsomthingDO.setAttr2(null);//因为不用跳转所以为null BdgzsomthingDO.setAttr2(null);//因为不用跳转所以为null
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid()); BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid());
@ -773,7 +822,18 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
else if(attentiontodoRespVO.getAttr5().equals("2")){ else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
MaterialPlanDO planDO = materialPlanMapper.selectOne(new LambdaQueryWrapper<MaterialPlanDO>().eq(MaterialPlanDO::getProjectMaterialPlanNo, materialPlanDetailDO.getProjectMaterialPlanNo()));
if (ObjectUtil.isNotEmpty(planDO)){
AdminUserDO user = adminUserService.getUser(Long.valueOf(planDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if(attentiontodoRespVO.getLevel().equals("1")){ if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} }
@ -785,18 +845,70 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
} }
BdgzsomthingDO.setYesorno("0");//是否点击 BdgzsomthingDO.setYesorno("0");//是否点击
BdgzsomthingDO.setAttr3(deliverOrderDO.getProjectMaterialPlanNo());//获取数据当前表的id BdgzsomthingDO.setAttr3(materialPlanDetailDO.getProjectMaterialPlanNo());//获取数据当前表的id
BdgzsomthingDO.setShowname(null);//获取数据当前表的创建事件 BdgzsomthingDO.setShowname(null);//获取数据当前表的创建事件
//去重查询,重复则不加 //去重查询,重复则不加
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintone(BdgzsomthingDO); // List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintone(BdgzsomthingDO);
//
//
// if(selecteqint.size()>0){
// }else{
if(selecteqint.size()>0){
}else{
//插入方法 //插入方法
bdgzsomthingMapper.insert(BdgzsomthingDO); bdgzsomthingMapper.insert(BdgzsomthingDO);
// }
}
for (MaterialPlanBoomDO materialPlanBoomDO : selectafterten1) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setAttr4("0");//是否点击
BdgzsomthingDO.setThings("计划单号:"+materialPlanBoomDO.getProjectMaterialPlanNo()+" 加工件:"+materialPlanBoomDO.getName()+",临近到货日期");//事件名称
BdgzsomthingDO.setAttr2(null);//因为不用跳转所以为null
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid());
// BdgzsomthingDO.setShowname(LocalDateTime.now());//比较创建时间,不用单独填写
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
BdgzsomthingDO.setDborgz("待办");
} }
else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注");
}
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
MaterialPlanDO planDO = materialPlanMapper.selectOne(new LambdaQueryWrapper<MaterialPlanDO>().eq(MaterialPlanDO::getProjectMaterialPlanNo, materialPlanBoomDO.getProjectMaterialPlanNo()));
if (ObjectUtil.isNotEmpty(planDO)){
AdminUserDO user = adminUserService.getUser(Long.valueOf(planDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急");
}
else if(attentiontodoRespVO.getLevel().equals("2")){
BdgzsomthingDO.setLevel("一般");
}
else if(attentiontodoRespVO.getLevel().equals("3")){
BdgzsomthingDO.setLevel("非紧急");
}
BdgzsomthingDO.setYesorno("0");//是否点击
BdgzsomthingDO.setAttr3(materialPlanBoomDO.getProjectMaterialPlanNo());//获取数据当前表的id
BdgzsomthingDO.setShowname(null);//获取数据当前表的创建事件
//去重查询,重复则不加
// List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintone(BdgzsomthingDO);
// if(selecteqint.size()>0){
//
// }else{
//插入方法
bdgzsomthingMapper.insert(BdgzsomthingDO);
// }
} }
} }
} }
@ -811,8 +923,16 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
} }
public int updateById(bdgzsomthingDO entity){
return bdgzsomthingMapper.updateById(entity);
}
public List<bdgzsomthingDO> selectSafeStorage(List<String> attr3List){
return bdgzsomthingMapper.selectSafeStorage(attr3List);
}
/** /**
*功能描述 安全库存和发货超一年 *功能描述 安全库存和发货超一年
* @param * @param
@ -820,6 +940,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
*@Author lyw *@Author lyw
*@Date 2025-02-08 15:24 *@Date 2025-02-08 15:24
*/ */
@Transactional()
public void selectSafeStorageAndDeliverOneYear(){ public void selectSafeStorageAndDeliverOneYear(){
//如果有设置了提醒周期的 //如果有设置了提醒周期的
List<AttentiontodoDO> safeStorage = attentiontodoMapper.selectListByEvent("库存低于安全库存"); List<AttentiontodoDO> safeStorage = attentiontodoMapper.selectListByEvent("库存低于安全库存");
@ -851,13 +972,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
attentiontodoDO.setLevel("1"); attentiontodoDO.setLevel("1");
attentiontodook.add(attentiontodoDO); attentiontodook.add(attentiontodoDO);
} }
} }
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) { for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall(attentiontodoRespVO.getTxrid());//查询符合条件的值 List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall(attentiontodoRespVO.getTxrid());//查询符合条件的值
{ {
@ -889,25 +1004,30 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
BdgzsomthingDO.setAttr4("0");//是否点击 BdgzsomthingDO.setAttr4("0");//是否点击
BdgzsomthingDO.setAttr3(storageLogNowDO.getId().toString());//获取数据当前表的id BdgzsomthingDO.setAttr3(storageLogNowDO.getId().toString());//获取数据当前表的id
BdgzsomthingDO.setShowname(storageLogNowDO.getCreateTime());//获取数据当前表的创建事件 BdgzsomthingDO.setShowname(storageLogNowDO.getCreateTime());//获取数据当前表的创建事件
//去重查询,重复则不加 //查之前没有达到安全库存的数据
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO); List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintDeletedButNoOver(BdgzsomthingDO);
if(CollUtil.isEmpty(selecteqint)){ if(CollUtil.isEmpty(selecteqint)){
//插入方法 //
bdgzsomthingMapper.insert(BdgzsomthingDO); List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintNoDeletedAndNoOver(BdgzsomthingDO);
if (!CollUtil.isNotEmpty(bdgzsomthingDOList)){
//插入方法
bdgzsomthingMapper.insert(BdgzsomthingDO);
}
}else{ }else{
if (hasRemindTimeSafeStorage){ if (hasRemindTimeSafeStorage){
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
List<bdgzsomthingDO> updateBatch = new ArrayList<>(); // List<bdgzsomthingDO> updateBatch = new ArrayList<>();
for (bdgzsomthingDO bdgzsomthingDO : selecteqint) { for (bdgzsomthingDO bdgzsomthingDO : selecteqint) {
LocalDate updatetime = bdgzsomthingDO.getUpdateTime().toLocalDate(); LocalDate updatetime = bdgzsomthingDO.getUpdateTime().toLocalDate();
// 计算两个日期之间的天数差 // 计算两个日期之间的天数差
long daysBetween = ChronoUnit.DAYS.between(updatetime, today); long daysBetween = ChronoUnit.DAYS.between(updatetime, today);
if (daysBetween == Long.valueOf(remindTimeSafe)){ if (daysBetween == Long.valueOf(remindTimeSafe)){
bdgzsomthingDO.setAttr12("0"); bdgzsomthingMapper.updateYnAndAttr4(bdgzsomthingDO.getId().toString(),"0","0");
updateBatch.add(bdgzsomthingDO); // updateBatch.add(bdgzsomthingDO);
} }
} }
bdgzsomthingMapper.updateBatch(updateBatch); // bdgzsomthingMapper.updateBatch(updateBatch);
} }
} }
@ -920,76 +1040,158 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
// List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall();//查询符合条件的值 // List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall();//查询符合条件的值
List<AttentiontodoDO> attentiontodook3 = attentiontodoService.getAttentiontodolistdaiban(3); List<AttentiontodoDO> attentiontodook3 = attentiontodoService.getAttentiontodolistdaiban(3);
if (attentiontodook3.size()<1){ boolean hasDbPerson = true;
if (CollUtil.isEmpty(attentiontodook3)){
List<DeliverOrderDO> pageResult = deliverOrderMapper.selectPagemyn1();//查询符合条件的值 //如果待办人员配置为空
for (DeliverOrderDO storageLogNowDO : pageResult) { hasDbPerson = false;
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
attentiontodoDO.setEvent("订单发货满一年");
attentiontodoDO.setAttr5("1");
attentiontodoDO.setAttr4(userApi.getUser( storageLogNowDO.getCustomerId()).getNickname());
attentiontodoDO.setLevel("1");
attentiontodookddfh.add(attentiontodoDO);
}
} }
// if (attentiontodook3.size()<1){
// //如果没有配置待办人员
// List<DeliverOrderDO> pageResult = deliverOrderMapper.selectPagemyn1();//查询符合条件的值
// Map<String, List<DeliverOrderDO>> groupedBySale = pageResult.stream()
// .filter(order -> order.getSaleOrderIds() != null && !order.getSaleOrderIds().isEmpty()) // 过滤掉msd为空的条目
// .collect(Collectors.groupingBy(DeliverOrderDO::getSaleOrderIds));
//
// groupedBySale.forEach((ids,list)->{
// AdminUserRespDTO user = userApi.getUser(list.get(0).get());
// if (user != null ){
// AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
// attentiontodoDO.setEvent("订单发货满一年");
// attentiontodoDO.setAttr5("1");
// attentiontodoDO.setAttr4(user.getNickname());
// attentiontodoDO.setLevel("1");
// attentiontodookddfh.add(attentiontodoDO);
// }
// });
//// for (DeliverOrderDO storageLogNowDO : pageResult) {
////
//// }
// }
for (AttentiontodoDO attentiontodoRespVO : attentiontodookddfh) { for (AttentiontodoDO attentiontodoRespVO : attentiontodookddfh) {
List<DeliverOrderDO> deliverOrderDOS = deliverOrderMapper.selectPagemyn(attentiontodoRespVO.getTxrid()); List<DeliverOrderDO> deliverOrderDOS = deliverOrderMapper.selectPagemyn(attentiontodoRespVO.getTxrid());
Map<String, List<DeliverOrderDO>> groupedBySale = deliverOrderDOS.stream()
.filter(order -> order.getSaleOrderIds() != null && !order.getSaleOrderIds().isEmpty()) // 过滤掉msd为空的条目
.collect(Collectors.groupingBy(DeliverOrderDO::getSaleOrderIds));
{ {
for (DeliverOrderDO deliverOrderDO : deliverOrderDOS) { for (Map.Entry<String, List<DeliverOrderDO>> entry : groupedBySale.entrySet()) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); String ids = entry.getKey();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 List<DeliverOrderDO> list = entry.getValue();
BdgzsomthingDO.setThings("订单编号:"+deliverOrderDO.getCode()+"发货日期到期一年");//事件名称 String[] split = ids.split(",");
BdgzsomthingDO.setAttr2(deliverOrderDO.getCode());//因为不用跳转所以为null for (String s : split) {
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 ProjectOrderDO projectOrderDO = projectOrderMapper.selectProjectOrderById(Long.valueOf(s));
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid()); if (projectOrderDO.getDeliveryStatus() == 3){
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("订单编号:"+projectOrderDO.getCode()+"发货日期到期一年");//事件名称
BdgzsomthingDO.setAttr2(projectOrderDO.getCode());//因为不用跳转所以为null
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid());
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写 // BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态 if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
BdgzsomthingDO.setDborgz("待办"); BdgzsomthingDO.setDborgz("待办");
} }
else if(attentiontodoRespVO.getAttr5().equals("2")){ else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){ if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} }
else if(attentiontodoRespVO.getLevel().equals("2")){ else if(attentiontodoRespVO.getLevel().equals("2")){
BdgzsomthingDO.setLevel("一般"); BdgzsomthingDO.setLevel("一般");
} }
else if(attentiontodoRespVO.getLevel().equals("3")){ else if(attentiontodoRespVO.getLevel().equals("3")){
BdgzsomthingDO.setLevel("非紧急"); BdgzsomthingDO.setLevel("非紧急");
} }
BdgzsomthingDO.setYesorno("0");//是否点击 BdgzsomthingDO.setYesorno("0");//是否点击
BdgzsomthingDO.setAttr4("0");//是否点击 BdgzsomthingDO.setAttr4("0");//是否点击
BdgzsomthingDO.setAttr3(deliverOrderDO.getCode());//获取数据当前表的id BdgzsomthingDO.setAttr3(projectOrderDO.getCode());//获取数据当前表的id
BdgzsomthingDO.setShowname(deliverOrderDO.getCreateTime());//获取数据当前表的创建事件 BdgzsomthingDO.setShowname(list.get(0).getCreateTime());//获取数据当前表的创建事件
//去重查询,重复则不加 //去重查询,重复则不加
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO); List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintDeletedButNoOver(BdgzsomthingDO);
if(CollUtil.isNotEmpty(selecteqint)){
if (hasRemindTimeSafeStorage){
LocalDate today = LocalDate.now();
// List<bdgzsomthingDO> updateBatch = new ArrayList<>();
for (bdgzsomthingDO bdgzsomthingDO : selecteqint) {
LocalDate updatetime = bdgzsomthingDO.getUpdateTime().toLocalDate();
// 计算两个日期之间的天数差
long daysBetween = ChronoUnit.DAYS.between(updatetime, today);
if (daysBetween == Long.valueOf(remindTimeSafe)){
bdgzsomthingMapper.updateYnAndAttr4(bdgzsomthingDO.getId().toString(),"0","0");
if(CollUtil.isNotEmpty(selecteqint)){ // updateBatch.add(bdgzsomthingDO);
if (hasRemindTimeSafeStorage){ }
LocalDate today = LocalDate.now(); }
List<bdgzsomthingDO> updateBatch = new ArrayList<>(); // bdgzsomthingMapper.updateBatch(updateBatch);
for (bdgzsomthingDO bdgzsomthingDO : selecteqint) { }
LocalDate updatetime = bdgzsomthingDO.getUpdateTime().toLocalDate(); }else{
// 计算两个日期之间的天数差 List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintNoDeletedAndNoOver(BdgzsomthingDO);
long daysBetween = ChronoUnit.DAYS.between(updatetime, today); if (!CollUtil.isNotEmpty(bdgzsomthingDOList)){
if (daysBetween == Long.valueOf(remindTimeSafe)){ //插入方法
bdgzsomthingDO.setAttr12("0"); bdgzsomthingMapper.insert(BdgzsomthingDO);
updateBatch.add(bdgzsomthingDO); }
}
if (!hasDbPerson){
//如果没有配置待办人员要给对应的业务员发
bdgzsomthingDO BdgzsomthingDO1 = new bdgzsomthingDO();
BdgzsomthingDO1.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO1.setThings("订单编号:"+projectOrderDO.getCode()+"发货日期到期一年");//事件名称
BdgzsomthingDO1.setAttr2(projectOrderDO.getCode());//因为不用跳转所以为null
BdgzsomthingDO1.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
BdgzsomthingDO1.setTenantId(attentiontodoRespVO.getTxrid());
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
BdgzsomthingDO1.setDborgz("待办");
BdgzsomthingDO1.setClick(projectOrderDO.getBusinessManName());//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO1.setLevel("紧急");
}
else if(attentiontodoRespVO.getLevel().equals("2")){
BdgzsomthingDO1.setLevel("一般");
}
else if(attentiontodoRespVO.getLevel().equals("3")){
BdgzsomthingDO1.setLevel("非紧急");
}
BdgzsomthingDO1.setYesorno("0");//是否点击
BdgzsomthingDO1.setAttr4("0");//是否点击
BdgzsomthingDO1.setAttr3(projectOrderDO.getCode());//获取数据当前表的id
BdgzsomthingDO1.setShowname(list.get(0).getCreateTime());//获取数据当前表的创建事件
//去重查询,重复则不加
List<bdgzsomthingDO> selecteqint1 = bdgzsomthingMapper.selecteqintDeletedButNoOver(BdgzsomthingDO1);
if(CollUtil.isNotEmpty(selecteqint1)){
if (hasRemindTimeSafeStorage){
LocalDate today = LocalDate.now();
// List<bdgzsomthingDO> updateBatch = new ArrayList<>();
for (bdgzsomthingDO bdgzsomthingDO : selecteqint1) {
LocalDate updatetime = bdgzsomthingDO.getUpdateTime().toLocalDate();
// 计算两个日期之间的天数差
long daysBetween = ChronoUnit.DAYS.between(updatetime, today);
if (daysBetween == Long.valueOf(remindTimeSafe)){
bdgzsomthingMapper.updateYnAndAttr4(bdgzsomthingDO.getId().toString(),"0","0");
// updateBatch.add(bdgzsomthingDO);
}
}
// bdgzsomthingMapper.updateBatch(updateBatch);
}
}else{
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintNoDeletedAndNoOver(BdgzsomthingDO1);
if (!CollUtil.isNotEmpty(bdgzsomthingDOList)){
//插入方法
bdgzsomthingMapper.insert(BdgzsomthingDO1);
}
} }
} }
bdgzsomthingMapper.updateBatch(updateBatch);
} }
}else{
//插入方法
bdgzsomthingMapper.insert(BdgzsomthingDO);
} }
} }
// for (DeliverOrderDO deliverOrderDO : deliverOrderDOS) {
//
//
// }
} }
} }
} }

View File

@ -139,8 +139,10 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs(), updateReqVO.getDeliverOrderOtherSubs()); updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs(), updateReqVO.getDeliverOrderOtherSubs());
if(updateObj.getDeliverStatus().intValue() == DeliverOrderStatusEnum.DELIVER.getCode()) { if(updateObj.getDeliverStatus().intValue() == DeliverOrderStatusEnum.DELIVER.getCode()) {
crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(","),updateReqVO.getDeliverDate()); // crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(","),updateReqVO.getDeliverDate());
// crossOrderManager.generateStockOutOrder(updateReqVO); crossOrderManager.refreshProjectOrderDeliverStatusNew(updateReqVO.getDeliverOrderSubs(),updateReqVO.getDeliverDate());
// crossOrderManager.generateStockOutOrder(updateReqVO);
} }
} }
@ -270,7 +272,6 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
//子订单号 //子订单号
Long subId = o.getSaleOrderSubId(); Long subId = o.getSaleOrderSubId();
System.out.println("子项目ID"+subId);
//查询此订单已发货总数量 //查询此订单已发货总数量
DeliverOrderSubDO deliverOrderSubDO = deliverOrderSubMapper.searchNum(subId); DeliverOrderSubDO deliverOrderSubDO = deliverOrderSubMapper.searchNum(subId);
//再获取订单中的生产数量 //再获取订单中的生产数量

View File

@ -1,8 +1,20 @@
package com.chanko.yunxi.mes.module.heli.service.materialplan; package com.chanko.yunxi.mes.module.heli.service.materialplan;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils;
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService;
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
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.dal.mysql.user.AdminUserMapper;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -39,6 +51,15 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
@Resource @Resource
private SerialNumberService serialNumberService; private SerialNumberService serialNumberService;
@Resource @Resource
private AdminUserApi userApi;
@Autowired
private AttentiontodoService attentiontodoService;
@Resource
private AttentiontodoMapper attentiontodoMapper;
@Resource
private AdminUserService adminUserService;
@Resource
private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper; private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper;
@Override @Override
public Long createMaterialPlan(MaterialPlanSaveReqVO createReqVO) { public Long createMaterialPlan(MaterialPlanSaveReqVO createReqVO) {
@ -72,6 +93,73 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
LocalDateTime currTime = LocalDateTime.now(); LocalDateTime currTime = LocalDateTime.now();
if(updateReqVO.getStatus()==2){ if(updateReqVO.getStatus()==2){
updateObj.setSubmitTime(currTime); updateObj.setSubmitTime(currTime);
MaterialPlanDO materialPlanDO = materialPlanMapper.selectById(updateReqVO.getId());
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(8);//查找该类型的待办和关注人
String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(8);
if (attentiontodook1.size()<1){
{
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
attentiontodoDO.setEvent("《物料需求计划》提交后");
attentiontodoDO.setAttr5("1");
attentiontodoDO.setAttr4(nickname);
attentiontodoDO.setLevel("1");
attentiontodook.add(attentiontodoDO);
}
}
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
{
// for (StorageLogNowDO storageLogNowDO : pageResult) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("物料需求计划单号:"+materialPlanDO.getProjectMaterialPlanNo()+"已提交送审");//事件名称
BdgzsomthingDO.setAttr2(materialPlanDO.getProjectMaterialPlanNo());//跳转携带参数
BdgzsomthingDO.setAttr3(materialPlanDO.getProjectMaterialPlanNo());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
BdgzsomthingDO.setDborgz("待办");
}
else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注");
}
//提醒人
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
AdminUserDO user = adminUserService.getUser(Long.valueOf(materialPlanDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急");
}
else if(attentiontodoRespVO.getLevel().equals("2")){
BdgzsomthingDO.setLevel("一般");
}
else if(attentiontodoRespVO.getLevel().equals("3")){
BdgzsomthingDO.setLevel("非紧急");
}
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
BdgzsomthingDO.setYesorno("0");//是否点击
BdgzsomthingDO.setAttr4("0");//是否已处理
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件
bdgzsomthingMapper.insert(BdgzsomthingDO);
// }
}
}
} }
if(updateReqVO.getStatus()== 3){ if(updateReqVO.getStatus()== 3){
updateObj.setAuditTime(currTime); updateObj.setAuditTime(currTime);
@ -79,10 +167,10 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
materialPlanMapper.updateById(updateObj); materialPlanMapper.updateById(updateObj);
bdgzsomthingDO abc= new bdgzsomthingDO(); // bdgzsomthingDO abc= new bdgzsomthingDO();
abc.setThingname("《物料需求计划》提交后"); // abc.setThingname("《物料需求计划》提交后");
abc.setAttr3(updateObj.getProjectMaterialPlanNo()); // abc.setAttr3(updateObj.getProjectMaterialPlanNo());
bdgzsomthingMapper.updateok(abc); // bdgzsomthingMapper.updateok(abc);
} }

View File

@ -36,11 +36,7 @@ import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
@Service @Service
@Validated @Validated
public class MaterialPlanDetailServiceImpl implements MaterialPlanDetailService { public class MaterialPlanDetailServiceImpl implements MaterialPlanDetailService {
@Resource
private AdminUserApi userApi;
@Autowired
private AttentiontodoService attentiontodoService;
@Resource @Resource
private MaterialPlanMapper materialPlanMapper; private MaterialPlanMapper materialPlanMapper;
@Resource @Resource
@ -66,65 +62,7 @@ public class MaterialPlanDetailServiceImpl implements MaterialPlanDetailService
MaterialPlanDetailDO updateObj = BeanUtils.toBean(updateReqVO, MaterialPlanDetailDO.class); MaterialPlanDetailDO updateObj = BeanUtils.toBean(updateReqVO, MaterialPlanDetailDO.class);
materialPlanDetailMapper.updateById(updateObj); materialPlanDetailMapper.updateById(updateObj);
//需求计划送审 完美点击插入 //需求计划送审 完美点击插入
MaterialPlanDO materialPlanDO = materialPlanMapper.selectById(updateObj.getProjectMaterialPlanId());
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(8);//查找该类型的待办和关注人
String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(8);
if (attentiontodook1.size()<1){
{
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
attentiontodoDO.setEvent("《物料需求计划》提交后");
attentiontodoDO.setAttr5("1");
attentiontodoDO.setAttr4(nickname);
attentiontodoDO.setLevel("1");
attentiontodook.add(attentiontodoDO);
}
}
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
{
// for (StorageLogNowDO storageLogNowDO : pageResult) {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings(materialPlanDO.getProjectMaterialPlanNo()+"已提交送审");//事件名称
BdgzsomthingDO.setAttr2(materialPlanDO.getProjectMaterialPlanNo());//跳转携带参数
BdgzsomthingDO.setAttr3(materialPlanDO.getProjectMaterialPlanNo());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
BdgzsomthingDO.setDborgz("待办");
}
else if(attentiontodoRespVO.getAttr5().equals("2")){
BdgzsomthingDO.setDborgz("关注");
}
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人
if(attentiontodoRespVO.getLevel().equals("1")){
BdgzsomthingDO.setLevel("紧急");
}
else if(attentiontodoRespVO.getLevel().equals("2")){
BdgzsomthingDO.setLevel("一般");
}
else if(attentiontodoRespVO.getLevel().equals("3")){
BdgzsomthingDO.setLevel("非紧急");
}
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
BdgzsomthingDO.setYesorno("0");//是否点击
BdgzsomthingDO.setAttr4("0");//是否已处理
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件
bdgzsomthingMapper.insert(BdgzsomthingDO);
// }
}
}
////////////////////////////////////////////////// //////////////////////////////////////////////////

View File

@ -53,11 +53,13 @@ public interface PlanService {
PageResult<PlanDO> getPlanPage(PlanPageReqVO pageReqVO); PageResult<PlanDO> getPlanPage(PlanPageReqVO pageReqVO);
PageResult<PlanDO> getPlanPageByStatus(PlanPageReqVO pageReqVO); PageResult<PlanDO> getPlanPageByStatus(PlanPageReqVO pageReqVO);
PlanDO getPlanByProjectId(Long projectId);
Long generatePlanByProjectId(Long projectId); Long generatePlanByProjectId(Long projectId);
void generatePlanTaskByPlanId(Long planId ,String type); void generatePlanTaskByPlanId(Long planId ,String type);
void updatePlanStatusToTerminateByProjectId(Long projectId); void updatePlanStatusToTerminateByProjectId(Long projectId);
boolean complete(Long id); boolean complete(Long id);
int updateById(PlanDO planDO);
} }

View File

@ -8,6 +8,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService; import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
import com.chanko.yunxi.mes.framework.web.core.util.WebFrameworkUtils;
import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.PlanSaveReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.PlanSubPageReqVO;
@ -161,7 +162,14 @@ private TaskReportMapper taskReportMapper;
public PageResult<PlanDO> getPlanPageByStatus(PlanPageReqVO pageReqVO) { public PageResult<PlanDO> getPlanPageByStatus(PlanPageReqVO pageReqVO) {
return planMapper.selectPageByStatus(pageReqVO); return planMapper.selectPageByStatus(pageReqVO);
} }
@Override
public PlanDO getPlanByProjectId(Long projectId){
return planMapper.selectOne(new LambdaQueryWrapper<PlanDO>() {{
eq(PlanDO::getProjectId, projectId);
orderByDesc(PlanDO::getId);
last("LIMIT 1");
}});
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Long generatePlanByProjectId(Long projectId){ public Long generatePlanByProjectId(Long projectId){
@ -225,7 +233,8 @@ private TaskReportMapper taskReportMapper;
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
planDO.setPlanNo(PROJECT_PLAN.getCode(serialNumberDO.getSerialNumber().toString())); planDO.setPlanNo(PROJECT_PLAN.getCode(serialNumberDO.getSerialNumber().toString()));
Long userId = WebFrameworkUtils.getLoginUserId();
planDO.setCreator(userId.toString());
planMapper.insert(planDO); planMapper.insert(planDO);
// 回写序列记录 // 回写序列记录
serialNumberService.updateSerialNumber(serialNumberDO); serialNumberService.updateSerialNumber(serialNumberDO);
@ -268,7 +277,10 @@ private TaskReportMapper taskReportMapper;
updatePlanTaskStatusToTerminateByPlanId(planDO.getId()); updatePlanTaskStatusToTerminateByPlanId(planDO.getId());
} }
} }
@Override
public int updateById(PlanDO planDO){
return planMapper.updateById(planDO);
}
@Override @Override
public boolean complete(Long id) { public boolean complete(Long id) {
LambdaQueryWrapper<TaskDispatchDO> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TaskDispatchDO> queryWrapper = new LambdaQueryWrapper<>();

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.service.processbom; package com.chanko.yunxi.mes.module.heli.service.processbom;
import cn.hutool.core.collection.CollUtil; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.generator.IFill; import com.baomidou.mybatisplus.generator.IFill;
@ -29,6 +30,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDeta
import com.chanko.yunxi.mes.module.heli.dal.dataobject.shenhe.ShenheDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.shenhe.ShenheDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
@ -41,7 +43,9 @@ import com.chanko.yunxi.mes.module.heli.service.plantaskbom.PlanTaskBomService;
import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi; import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi;
import com.chanko.yunxi.mes.module.system.controller.admin.dict.vo.data.DictDataPageReqVO; import com.chanko.yunxi.mes.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.chanko.yunxi.mes.module.system.dal.mysql.dict.DictDataMapper; import com.chanko.yunxi.mes.module.system.dal.mysql.dict.DictDataMapper;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -98,6 +102,10 @@ public class ProcessBomServiceImpl implements ProcessBomService {
private AttentiontodoMapper attentiontodoMapper; private AttentiontodoMapper attentiontodoMapper;
@Resource @Resource
private DictDataMapper dictDataMapper; private DictDataMapper dictDataMapper;
@Resource
private AdminUserService adminUserService;
@Resource
private PlanMapper planMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Long createProcessBom(ProcessBomSaveReqVO createReqVO) { public Long createProcessBom(ProcessBomSaveReqVO createReqVO) {
@ -547,8 +555,8 @@ public class ProcessBomServiceImpl implements ProcessBomService {
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO(); bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称 BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
BdgzsomthingDO.setThings("BOM" + updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称 BdgzsomthingDO.setThings("BOM" + updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称
BdgzsomthingDO.setAttr2(getplanid.getId().toString());//跳转携带参数 BdgzsomthingDO.setAttr2(getplanid.getPlanNo());//跳转携带参数
BdgzsomthingDO.setAttr3(getplanid.getId().toString());//独特标识 BdgzsomthingDO.setAttr3(getplanid.getPlanNo());//独特标识
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期 // BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写 // BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态 if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态
@ -556,7 +564,19 @@ public class ProcessBomServiceImpl implements ProcessBomService {
} else if (attentiontodoRespVO.getAttr5().equals("2")) { } else if (attentiontodoRespVO.getAttr5().equals("2")) {
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
// ProcessBomDO processBomDO = processBomMapper.selectById(updateReqVO.getId());
PlanDO planDO = planMapper.selectOne(new LambdaQueryWrapper<PlanDO>().eq(PlanDO::getPlanNo, getplanid.getPlanNo()));
if (ObjectUtil.isNotEmpty(planDO)){
AdminUserDO user = adminUserService.getUser(Long.valueOf(planDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if (attentiontodoRespVO.getLevel().equals("1")) { if (attentiontodoRespVO.getLevel().equals("1")) {
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} else if (attentiontodoRespVO.getLevel().equals("2")) { } else if (attentiontodoRespVO.getLevel().equals("2")) {
@ -745,7 +765,15 @@ public class ProcessBomServiceImpl implements ProcessBomService {
} else if (attentiontodoRespVO.getAttr5().equals("2")) { } else if (attentiontodoRespVO.getAttr5().equals("2")) {
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
AdminUserDO user = adminUserService.getUser(Long.valueOf(processBomDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if (attentiontodoRespVO.getLevel().equals("1")) { if (attentiontodoRespVO.getLevel().equals("1")) {
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} else if (attentiontodoRespVO.getLevel().equals("2")) { } else if (attentiontodoRespVO.getLevel().equals("2")) {
@ -810,7 +838,14 @@ public class ProcessBomServiceImpl implements ProcessBomService {
} else if (attentiontodoRespVO.getAttr5().equals("2")) { } else if (attentiontodoRespVO.getAttr5().equals("2")) {
BdgzsomthingDO.setDborgz("关注"); BdgzsomthingDO.setDborgz("关注");
} }
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());//提醒人 if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
AdminUserDO user = adminUserService.getUser(Long.valueOf(processBomDO.getCreator()));
if (ObjectUtil.isNotEmpty(user)){
BdgzsomthingDO.setClick(user.getNickname());
}
}else {
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
}
if (attentiontodoRespVO.getLevel().equals("1")) { if (attentiontodoRespVO.getLevel().equals("1")) {
BdgzsomthingDO.setLevel("紧急"); BdgzsomthingDO.setLevel("紧急");
} else if (attentiontodoRespVO.getLevel().equals("2")) { } else if (attentiontodoRespVO.getLevel().equals("2")) {

View File

@ -1,18 +1,23 @@
package com.chanko.yunxi.mes.module.heli.service.processdesign; package com.chanko.yunxi.mes.module.heli.service.processdesign;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.generator.IFill;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils; import com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils;
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignProgressPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignProgressPageReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignSaveReqSubVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignSaveReqSubVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignSaveReqVO;
import com.chanko.yunxi.mes.module.heli.controller.admin.zjbgmasterline.vo.ZjBgMasterLinePageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.zjbgmasterline.vo.ZjBgMasterLinePageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMasterLineDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignProgressMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignProgressMapper;
import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum;
@ -46,8 +51,8 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
private ProcessDesignMapper processDesignMapper; private ProcessDesignMapper processDesignMapper;
@Resource @Resource
private ProcessDesignProgressMapper processDesignProgressMapper; private ProcessDesignProgressMapper processDesignProgressMapper;
@Resource
private bdgzsomthingMapper bdgzsomthingMapper;
@Override @Override
public PageResult<ProcessDesignProgressDO> getProcessPage(ProcessDesignProgressPageReqVO pageReqVO) { public PageResult<ProcessDesignProgressDO> getProcessPage(ProcessDesignProgressPageReqVO pageReqVO) {
return processDesignProgressMapper.selectPage(pageReqVO); return processDesignProgressMapper.selectPage(pageReqVO);
@ -56,19 +61,18 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
public Long updateBaoGong(ProcessDesignSaveReqSubVO reqVO){ public Long updateBaoGong(ProcessDesignSaveReqSubVO reqVO){
//先取出主ID下的所有报工百分比判断不能报工不能超过100 //先取出主ID下的所有报工百分比判断不能报工不能超过100
ProcessDesignProgressDO processDesignProgressDOS = processDesignProgressMapper.selectSumJinDu(reqVO.getZid()); ProcessDesignProgressDO processDesignProgressDOS = processDesignProgressMapper.selectSumJinDu(reqVO.getZid());
BigDecimal value1 = reqVO.getProgress(); BigDecimal newProgress = reqVO.getProgress();
BigDecimal threshold = new BigDecimal("100"); BigDecimal OVER_PROGRESS_VALUE = new BigDecimal("100");
if(processDesignProgressDOS != null){ if(processDesignProgressDOS != null){
//相加判断是否大于100大于时返回前端并给用户提示 //相加判断是否大于100大于时返回前端并给用户提示
BigDecimal value2 = processDesignProgressDOS.getProgress(); BigDecimal beforeProgress = processDesignProgressDOS.getProgress();
BigDecimal sum = value1.add(value2);
if (value1.compareTo(threshold) > 0) { if (newProgress.compareTo(OVER_PROGRESS_VALUE) > 0) {
//大于100时不执行,并返回给用户提示设计进度不能超过100 //大于100时不执行,并返回给用户提示设计进度不能超过100
throw exception(TASK_REPORT_PARAMS_ERRORJD); throw exception(TASK_REPORT_PARAMS_ERRORJD);
} else { } else {
if(processDesignProgressDOS.getProgress().compareTo(value1)>0){ if(beforeProgress.compareTo(newProgress)>0){
throw exception(TASK_REPORT_PARAMS_ERRORSJBG); throw exception(TASK_REPORT_PARAMS_ERRORSJBG);
}else{ }else{
//反之插入数据库数据 //反之插入数据库数据
@ -79,12 +83,11 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
if (reqVO.getRemark() != null && !reqVO.getRemark().trim().equals("")){ if (reqVO.getRemark() != null && !reqVO.getRemark().trim().equals("")){
processDesignProgressDO.setRemark(reqVO.getRemark()); processDesignProgressDO.setRemark(reqVO.getRemark());
} }
processDesignProgressMapper.insert(processDesignProgressDO); processDesignProgressMapper.insert(processDesignProgressDO);
} }
} }
}else{ }else{
if(value1.compareTo(threshold) > 0){ if(newProgress.compareTo(OVER_PROGRESS_VALUE) > 0){
throw exception(TASK_REPORT_PARAMS_ERRORJD); throw exception(TASK_REPORT_PARAMS_ERRORJD);
}else{ }else{
//反之插入数据库数据 //反之插入数据库数据
@ -96,11 +99,42 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
} }
} }
if (newProgress.compareTo(OVER_PROGRESS_VALUE) == 0){
//如果进度为100%要删除待办提醒
//1.查询父项拿到设计图纸类型
ProcessDesignDO processDesignDO = processDesignMapper.selectById(reqVO.getZid());
String designType = getDesignType(processDesignDO.getProcessDesignType().split("BLUEPRINT_")[1]);
//2.查询待办是否有这个待办
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintAttr12IsNull(processDesignDO.getPlanCode(), designType);
//如果有就更新待办
if (CollUtil.isNotEmpty(bdgzsomthingDOList)){
for (bdgzsomthingDO bdgzsomthingDO : bdgzsomthingDOList) {
bdgzsomthingDO.setAttr4("1");
bdgzsomthingDO.setAttr12("0");
bdgzsomthingMapper.updateById(bdgzsomthingDO);
}
}
}
return null; return null;
} }
public String getDesignType(String type){
if (type.equals("2D")){
return "2D设计";
}else if (type.equals("3D")){
return "3D设计";
}else if (type.equals("WORKBLANK")){
return "毛坯设计";
}else if (type.equals("FOUNDRY_TECHNOLOGY")){
//铸造工艺
return "铸造工艺设计";
}else {
return"";
}
}
@Override @Override
public Long updateBaoGong(Long zid, BigDecimal progress, String imageLink,String remark){ public Long updateBaoGong(Long zid, BigDecimal progress, String imageLink,String remark){
//先取出主ID下的所有报工百分比判断不能报工不能超过100 //先取出主ID下的所有报工百分比判断不能报工不能超过100
@ -203,7 +237,7 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
} }
@Override @Override
public PageResult<ProcessDesignDO> getProcessDesignPage(ProcessDesignPageReqVO pageReqVO) { public PageResult<ProcessDesignDO> getProcessDesignPage(ProcessDesignPageReqVO pageReqVO) {
if(pageReqVO.getIsOverview()){ if(pageReqVO.getIsOverview()){
PageResult<ProcessDesignDO> processDesignDOPageResult = processDesignMapper.selectPageOverview(pageReqVO); PageResult<ProcessDesignDO> processDesignDOPageResult = processDesignMapper.selectPageOverview(pageReqVO);
if(processDesignDOPageResult.getTotal() > 0){ if(processDesignDOPageResult.getTotal() > 0){

View File

@ -24,6 +24,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.deliverorder.DeliverOrderSubMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
@ -106,7 +107,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
@Autowired @Autowired
private AttentiontodoService attentiontodoService; private AttentiontodoService attentiontodoService;
@Autowired @Autowired
private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper; private bdgzsomthingMapper bdgzsomthingMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -187,9 +188,18 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
public void showzbmoney(Long id) { public void showzbmoney(Long id) {
// 校验存在 // 校验存在
validateProjectOrderExists(id); validateProjectOrderExists(id);
ProjectOrderDO projectOrderDO = projectOrderMapper.selectById(id);
// 更新是否收取质保金 // 更新是否收取质保金
LambdaUpdateWrapper<ProjectOrderDO> eq = new LambdaUpdateWrapper<ProjectOrderDO>().eq(ProjectOrderDO::getId, id).set(ProjectOrderDO::getShowZbmoney, 1).set(ProjectOrderDO::getDeliveryStatus,4); LambdaUpdateWrapper<ProjectOrderDO> eq = new LambdaUpdateWrapper<ProjectOrderDO>().eq(ProjectOrderDO::getId, id).set(ProjectOrderDO::getShowZbmoney, 1).set(ProjectOrderDO::getDeliveryStatus,4);
projectOrderMapper.update(eq); projectOrderMapper.update(eq);
//更新待办关注表的状态
LambdaUpdateWrapper<bdgzsomthingDO> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(bdgzsomthingDO::getAttr3,projectOrderDO.getCode())
.eq(bdgzsomthingDO::getThingname,"订单发货满一年")
.set(bdgzsomthingDO::getAttr4,"1")
.set(bdgzsomthingDO::getAttr12,"0");
bdgzsomthingMapper.update(wrapper);
} }
@Override @Override

View File

@ -155,20 +155,25 @@ public class StorageMatServiceImpl implements StorageMatService {
//上面是入库下面是要从原仓出库 //上面是入库下面是要从原仓出库
//减原仓 //减原仓
for (StorageMatFBSaveReqVO storageMatFBSaveReqVO : createReqVO) { for (StorageMatFBSaveReqVO storageMatFBSaveReqVO : createReqVO) {
String[] split = storageMatFBSaveReqVO.getWareHouseId().split("-"); if (storageMatFBSaveReqVO.getWareHouseId()!=null){
if (split.length == 3) { String[] split = storageMatFBSaveReqVO.getWareHouseId().split("-");
storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0])); if (split.length == 3) {
storageMatFBSaveReqVO.setRgId(Long.valueOf(split[1])); storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0]));
storageMatFBSaveReqVO.setPnId(Long.valueOf(split[2])); storageMatFBSaveReqVO.setRgId(Long.valueOf(split[1]));
} else if (split.length == 2) { storageMatFBSaveReqVO.setPnId(Long.valueOf(split[2]));
storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0])); } else if (split.length == 2) {
storageMatFBSaveReqVO.setRgId(Long.valueOf(split[1])); storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0]));
storageMatFBSaveReqVO.setPnId(null); storageMatFBSaveReqVO.setRgId(Long.valueOf(split[1]));
} else { storageMatFBSaveReqVO.setPnId(null);
storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0])); } else {
storageMatFBSaveReqVO.setRgId(null); storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0]));
storageMatFBSaveReqVO.setPnId(null); storageMatFBSaveReqVO.setRgId(null);
storageMatFBSaveReqVO.setPnId(null);
}
}else {
throw exception(BEFORE_STORAGE_NOT_EXISTS);
} }
} }
Map<Long, List<StorageMatFBSaveReqVO>> outListByWhid = createReqVO.stream() Map<Long, List<StorageMatFBSaveReqVO>> outListByWhid = createReqVO.stream()
.collect(Collectors.groupingBy(StorageMatFBSaveReqVO::getWhId)); .collect(Collectors.groupingBy(StorageMatFBSaveReqVO::getWhId));

View File

@ -11,6 +11,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
@ -18,6 +19,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumber
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; 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.dataobject.taskdispatch.TaskDispatchDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.equipmanufacture.EquipManufactureMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.equipmanufacture.EquipManufactureMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
@ -81,6 +83,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
private ZjPgMasterService zjPgMasterService; private ZjPgMasterService zjPgMasterService;
@Resource @Resource
private PgMasterService pgMasterService; private PgMasterService pgMasterService;
@Resource
private bdgzsomthingMapper bdgzsomthingMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Long createTaskDispatch(TaskDispatchSaveReqVO createReqVO) { public Long createTaskDispatch(TaskDispatchSaveReqVO createReqVO) {
@ -515,6 +519,15 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
} }
} }
} }
//看待办
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintAttr12IsNull(taskDispatchDO.getCode(), "任务单");
if (CollUtil.isNotEmpty(bdgzsomthingDOList)){
for (bdgzsomthingDO bdgzsomthingDO : bdgzsomthingDOList) {
bdgzsomthingDO.setAttr4("1");
bdgzsomthingDO.setAttr12("0");
bdgzsomthingMapper.updateById(bdgzsomthingDO);
}
}
if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isBomDetailProductionOver){ if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isBomDetailProductionOver){
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId(),taskDispatchDO.getBomDetailId()); pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId(),taskDispatchDO.getBomDetailId());
}else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isProjectSubAssembleOver){ }else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isProjectSubAssembleOver){

View File

@ -20,9 +20,9 @@
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO"> resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO">
SELECT a.*, b.tenant_id as txrid SELECT a.*, a.tenant_id as txrid
FROM db_attentiontodo a FROM db_attentiontodo a
INNER JOIN system_users b ON a.attr4 = b.nickname LEFT JOIN system_users b ON a.attr4 = b.nickname
WHERE a.attr2 = #{param1} WHERE a.attr2 = #{param1}
</select> </select>

View File

@ -15,6 +15,11 @@
SET yesorno = '1' , nowtime =#{nowtime} SET yesorno = '1' , nowtime =#{nowtime}
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<update id="updateYnAndAttr4" parameterType="String">
UPDATE dbzz_table
SET yesorno = #{yn} , attr4 =#{attr4}
WHERE id = #{id}
</update>
<update id="updatebdgzsomthingbyidok" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"> <update id="updatebdgzsomthingbyidok" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
UPDATE dbzz_table UPDATE dbzz_table
SET yesorno = '1' , nowtime =#{nowtime},attr4='1' SET yesorno = '1' , nowtime =#{nowtime},attr4='1'
@ -23,7 +28,7 @@
<update id="updatayesterday" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"> <update id="updatayesterday" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
UPDATE dbzz_table UPDATE dbzz_table
SET attr4 = '1' SET attr4 = '1'
WHERE thingname IN ('设计任务到期', '装配任务到期', '生产任务到期', '质检任务到期前') WHERE thingname IN ('设计任务到期', '装配任务到期', '生产任务到期', '质检任务到期前','《物料需求计划》的采购')
and attr4='0' and attr4='0'
</update> </update>
<update id="updatebdgzsomthingbyupok" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO"> <update id="updatebdgzsomthingbyupok" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
@ -47,7 +52,20 @@
SET attr4 = '1' SET attr4 = '1'
WHERE attr3=#{attr3} and attr4='0' WHERE attr3=#{attr3} and attr4='0'
</update> </update>
<select id="selectSafeStorage" resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
SELECT * FROM dbzz_table
<where>
<if test="attr3List != null and !attr3List.isEmpty()">
AND attr3 IN
<foreach item="item" index="index" collection="attr3List" open="(" separator="," close=")">
#{item}
</foreach>
</if>
AND thingname = '库存低于安全库存'
AND (attr12 = '1' or (attr12 is null and attr4 = 0))
AND deleted = 0
</where>
</select>
<update id="deletebdgzsByThings" parameterType="java.lang.String"> <update id="deletebdgzsByThings" parameterType="java.lang.String">
UPDATE dbzz_table UPDATE dbzz_table
SET attr4 = '1' SET attr4 = '1'
@ -60,7 +78,7 @@
</update> </update>
<update id="deleteByIdNew1" parameterType="java.lang.Long"> <update id="deleteByIdNew1" parameterType="java.lang.Long">
UPDATE dbzz_table UPDATE dbzz_table
SET attr4 = '0',attr12 = '1' SET attr4 = '1',attr12 = '1'
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<select id="selecteqint" <select id="selecteqint"
@ -70,6 +88,22 @@
select * from dbzz_table where showname=#{showname} and attr3=#{attr3} and attr4='0' and click=#{click} select * from dbzz_table where showname=#{showname} and attr3=#{attr3} and attr4='0' and click=#{click}
and dborgz=#{dborgz} and dborgz=#{dborgz}
</select> </select>
<select id="selecteqintDeletedButNoOver"
parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
select * from dbzz_table where things=#{things} and attr12='1' and attr4='1' and dborgz=#{dborgz}
</select>
<select id="selecteqintNoDeletedAndNoOver"
parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
select * from dbzz_table where things=#{things} and (attr12='1' or attr12 is null ) and dborgz =#{dborgz} and attr4='0'
</select>
<select id="selecteqintAttr12IsNull"
parameterType="String"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
select * from dbzz_table where things like concat('%',#{things},'%') and attr3 = #{attr3} and (attr12 is null or attr12 = '1')
</select>
<select id="selecteqintq" <select id="selecteqintq"
parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"> resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">

View File

@ -23,16 +23,11 @@
t.transport_weight, t.transport_size, t.transport_freight_cost, t.transport_weight, t.transport_size, t.transport_freight_cost,
t.remark, t.status, t.receive_person_name, t.receive_address, t.remark, t.status, t.receive_person_name, t.receive_address,
t.create_time, t.update_time, t.creator, t.updater, t.deleted, t.create_time, t.update_time, t.creator, t.updater, t.deleted,
u.nickname AS deliverPersonName, e.name AS customerName, u.nickname AS deliverPersonName, e.name AS customerName FROM
GROUP_CONCAT(DISTINCT p.code) AS saleOrderCode, project_deliver_order t
GROUP_CONCAT(p.project_name) AS projectName,
GROUP_CONCAT(p.contract_no) AS contractNo,
GROUP_CONCAT(p.property) AS property FROM
project_deliver_order t LEFT JOIN project_sale_order p
ON FIND_IN_SET(p.id, t.sale_order_ids) AND p.tenant_id = 1
LEFT JOIN system_users u ON (u.id = t.deliver_person) AND u.tenant_id = 1 LEFT JOIN system_users u ON (u.id = t.deliver_person) AND u.tenant_id = 1
LEFT JOIN base_customer e ON (e.id = t.customer_id) AND e.tenant_id = 1 LEFT JOIN base_customer e ON (e.id = t.customer_id) AND e.tenant_id = 1
WHERE t.deleted = 0 AND (t.deliver_status = 2) AND t.tenant_id = 1 WHERE t.deleted = 0 AND (t.deliver_status = 2)
and DATE_ADD(t.deliver_date, INTERVAL 1 YEAR) &lt; CURDATE() and DATE_ADD(t.deliver_date, INTERVAL 1 YEAR) &lt; CURDATE()
and t.show_zbmoney is null and t.deliver_status in('2') and t.show_zbmoney is null and t.deliver_status in('2')
and t.tenant_id =#{param1} and t.tenant_id =#{param1}
@ -53,13 +48,8 @@
t.transport_weight, t.transport_size, t.transport_freight_cost, t.transport_weight, t.transport_size, t.transport_freight_cost,
t.remark, t.status, t.receive_person_name, t.receive_address, t.remark, t.status, t.receive_person_name, t.receive_address,
t.create_time, t.update_time, t.creator, t.updater, t.deleted, t.create_time, t.update_time, t.creator, t.updater, t.deleted,
u.nickname AS deliverPersonName, e.name AS customerName, u.nickname AS deliverPersonName, e.name AS customerName FROM
GROUP_CONCAT(DISTINCT p.code) AS saleOrderCode, project_deliver_order t
GROUP_CONCAT(p.project_name) AS projectName,
GROUP_CONCAT(p.contract_no) AS contractNo,
GROUP_CONCAT(p.property) AS property FROM
project_deliver_order t LEFT JOIN project_sale_order p
ON FIND_IN_SET(p.id, t.sale_order_ids) AND p.tenant_id = 1
LEFT JOIN system_users u ON (u.id = t.deliver_person) AND u.tenant_id = 1 LEFT JOIN system_users u ON (u.id = t.deliver_person) AND u.tenant_id = 1
LEFT JOIN base_customer e ON (e.id = t.customer_id) AND e.tenant_id = 1 LEFT JOIN base_customer e ON (e.id = t.customer_id) AND e.tenant_id = 1
WHERE t.deleted = 0 AND (t.deliver_status = 2) AND t.tenant_id = 1 WHERE t.deleted = 0 AND (t.deliver_status = 2) AND t.tenant_id = 1
@ -78,4 +68,4 @@ update project_deliver_order set deliver_status='4' ,show_zbmoney ='1' where id
</update> </update>
</mapper> </mapper>

View File

@ -8,4 +8,25 @@
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<select id="selectafterten"
parameterType="map"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO">
select w.*from project_purchase_order q,
(SELECT
b.project_material_plan_no,a.project_material_plan_id,c.material_name as name,a.boom_detail_id
FROM
project_material_plan_boom a
JOIN
project_material_plan b ON a.project_material_plan_id = b.id
JOIN pro_process_bom_detail c ON c.id=a.boom_detail_id
WHERE
b.status = '3'
AND CURDATE() >= DATE_SUB(a.boom_arrive_date, INTERVAL #{evday} DAY)
and b.tenant_id =#{id}
) w
where q.project_material_plan_id =w.project_material_plan_id
and q.receiving_status !='3'
group by project_material_plan_no
</select>
</mapper> </mapper>

View File

@ -10,11 +10,11 @@
--> -->
<select id="selectafterten" <select id="selectafterten"
parameterType="Long" parameterType="map"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO"> resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO">
select w.*from project_purchase_order q, select w.*from project_purchase_order q right join
(SELECT (SELECT
b.project_material_plan_no,a.project_material_plan_id b.project_material_plan_no,a.project_material_plan_id,bm.name
FROM FROM
project_material_plan_detail a project_material_plan_detail a
JOIN JOIN
@ -23,10 +23,10 @@
base_material bm ON a.material_id = bm.id base_material bm ON a.material_id = bm.id
WHERE WHERE
b.status = '3' b.status = '3'
AND CURDATE() >= DATE_SUB(a.require_arrive_time, INTERVAL 10 DAY) AND CURDATE() >= DATE_SUB(a.require_arrive_time, INTERVAL #{evday} DAY)
and b.tenant_id =#{param1} and b.tenant_id =#{id}
) w ) w
where q.project_material_plan_id =w.project_material_plan_id on q.project_material_plan_id =w.project_material_plan_id
and q.receiving_status !='3' and q.receiving_status !='3'
group by project_material_plan_no group by project_material_plan_no

View File

@ -42,6 +42,7 @@
AND blank_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND blank_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_WORKBLANK' d.process_design_type = 'BLUEPRINT_WORKBLANK'
@ -87,6 +88,7 @@
AND three_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND three_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_3D' d.process_design_type = 'BLUEPRINT_3D'
@ -132,6 +134,7 @@
AND two_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND two_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_2D' d.process_design_type = 'BLUEPRINT_2D'
@ -183,6 +186,7 @@
AND blank_date&lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND blank_date&lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_WORKBLANK' d.process_design_type = 'BLUEPRINT_WORKBLANK'
@ -230,6 +234,7 @@
AND three_dim_date&lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND three_dim_date&lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_3D' d.process_design_type = 'BLUEPRINT_3D'
@ -277,6 +282,7 @@
AND two_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) AND two_dim_date &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
) x ) x
JOIN project_plan y ON x.project_plan_id = y.id JOIN project_plan y ON x.project_plan_id = y.id
where y.status in('1','2')
) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id ) c ON c.project_plan_id = d.plan_id AND c.project_sub_id = d.project_sub_id
WHERE WHERE
d.process_design_type = 'BLUEPRINT_2D' d.process_design_type = 'BLUEPRINT_2D'

View File

@ -132,6 +132,42 @@
and a.tenant_id =#{param1} and a.tenant_id =#{param1}
</select> </select>
<select id="selectPagesmall2"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
SELECT
b.mat_code id,
b.create_time,
b.mat_name,
b.total_storage_ok_qty,
b.creator
FROM
(SELECT
mat_code,
create_time,
mat_name,creator,
id,
SUM(storage_ok_qty) AS total_storage_ok_qty
FROM
v_storage_material_now
GROUP BY
mat_code,
create_time,
mat_name,
id,creator) b
JOIN
base_material a ON b.mat_code = a.code
WHERE
b.total_storage_ok_qty &lt; a.inv_safe
and a.tenant_id =2
and b.mat_code IN
<foreach item="matCode" collection="list" open="(" separator="," close=")">
#{matCode}
</foreach>
</select>
<select id="selectPagesmall1" <select id="selectPagesmall1"
parameterType="Long" parameterType="Long"
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO"> resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">

View File

@ -19,15 +19,15 @@
select c.code,d.end_time project_end_time from pro_task_dispatch c,(SELECT b.*, COALESCE(SUM(a.amount), 0) AS total_amount select c.code,d.end_time project_end_time,d.name from pro_task_dispatch c,(SELECT b.*,c.name as name, COALESCE(SUM(a.amount), 0) AS total_amount
FROM pro_task_dispatch_detail b FROM pro_task_dispatch_detail b
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} LEFT JOIN base_procedure c ON b.procedure_id=c.id
GROUP BY b.id WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} and b.procedure_status!=2
HAVING COALESCE(SUM(a.amount), 0) &lt; b.amount) d GROUP BY b.id
HAVING COALESCE(SUM(a.amount), 0) &lt; b.amount) d
where d.dispatch_id =c.id and c.dispatch_type ='ASSEMBLE' where d.dispatch_id =c.id and c.dispatch_type ='ASSEMBLE'
</select> </select>
<select id="getzplist1" <select id="getzplist1"
parameterType="Long" parameterType="Long"
@ -37,7 +37,7 @@
select c.code,d.end_time project_end_time from pro_task_dispatch c,(SELECT b.*, COALESCE(SUM(a.amount), 0) AS total_amount select c.code,d.end_time project_end_time,d.creator from pro_task_dispatch c,(SELECT b.*, COALESCE(SUM(a.amount), 0) AS total_amount
FROM pro_task_dispatch_detail b FROM pro_task_dispatch_detail b
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
@ -54,10 +54,11 @@
select c.code,d.end_time project_end_time from pro_task_dispatch c,(SELECT b.*, COALESCE(SUM(a.amount), 0) AS total_amount select c.code,d.end_time project_end_time,d.name from pro_task_dispatch c,(SELECT b.*,c.name as name,COALESCE(SUM(a.amount), 0) AS total_amount
FROM pro_task_dispatch_detail b FROM pro_task_dispatch_detail b
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} LEFT JOIN base_procedure c ON b.procedure_id=c.id
WHERE b.end_time &lt;= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} and b.procedure_status!=2
GROUP BY b.id GROUP BY b.id
HAVING COALESCE(SUM(a.amount), 0) &lt; b.amount) d HAVING COALESCE(SUM(a.amount), 0) &lt; b.amount) d
where d.dispatch_id =c.id and c.dispatch_type ='PRODUCTION' where d.dispatch_id =c.id and c.dispatch_type ='PRODUCTION'

View File

@ -94,7 +94,7 @@
v-if="scope.row.yesorno === '0'"> v-if="scope.row.yesorno === '0'">
查看 查看
</el-button> </el-button>
<el-button <el-button
link disabled link disabled
type="success" type="success"
@ -149,11 +149,11 @@
</el-row> </el-row>
</el-skeleton> </el-skeleton>
</el-card> </el-card>
<el-dialog title="提示" v-model="showDialog" width="30%" center> <el-dialog title="提示" v-model="showDialog" width="30%" center>
<span>该物料需求计划是否正常</span> <span>该物料需求计划是否正常</span>
<template #footer> <template #footer>
<el-button @click="showDialog = false"></el-button> <el-button @click="showDialog = false"></el-button>
<el-button type="primary" @click="suerMaterialNeed()"> </el-button> <el-button type="primary" @click="suerMaterialNeed()"> </el-button>
</template> </template>
</el-dialog> </el-dialog>
@ -320,8 +320,9 @@ const buttonTypes = ref([
'生产任务到期', '生产任务到期',
'质检任务到期前', '质检任务到期前',
'《物料需求计划》的采购', '《物料需求计划》的采购',
'《物料需求计划》提交后',
'BOM变更通知' 'BOM变更通知'
]); ]);
const showDialog = ref(false); const showDialog = ref(false);
// buttonTypes // buttonTypes
@ -517,26 +518,26 @@ const getList = async () => {
const abc=username const abc=username
queryParamsallin.click=username queryParamsallin.click=username
const data = await bdgzsomthingApi.getbdgzsomthingPage(queryParamsallin) const data = await bdgzsomthingApi.getbdgzsomthingPage(queryParamsallin)
// //
// // // //
// const data1 = await PurchaseOrderApi.getPurchaseOrderPageByStatus(queryParams1) // const data1 = await PurchaseOrderApi.getPurchaseOrderPageByStatus(queryParams1)
// // // //
// const data2 = await ProjectOrderApi.getProjectOrderPage(queryParams2) // const data2 = await ProjectOrderApi.getProjectOrderPage(queryParams2)
//bom //bom
// const data3 = await ProcessBomApi.getProcessBomPages(queryParams3) // const data3 = await ProcessBomApi.getProcessBomPages(queryParams3)
// //
// const data4 = await StorageLogApi.getStorageNowPagesmall(queryParams4) // const data4 = await StorageLogApi.getStorageNowPagesmall(queryParams4)
// //
// const data5 = await DeliverOrderApi.getDeliverOrderPagemyn() // const data5 = await DeliverOrderApi.getDeliverOrderPagemyn()
const tableData = []; const tableData = [];
const tableData1 = []; const tableData1 = [];
data.forEach(item => { data.forEach(item => {
const newItem = { const newItem = {
id:item.id, id:item.id,
idid: item.attr2, idid: item.attr2,
@ -547,7 +548,7 @@ const getList = async () => {
yesorno:item.yesorno, yesorno:item.yesorno,
sctime: formatTime(item.createTime, 'yyyy-MM-dd HH:mm:ss') sctime: formatTime(item.createTime, 'yyyy-MM-dd HH:mm:ss')
}; };
switch (item.thingname) { switch (item.thingname) {
case '订单有价格': case '订单有价格':
newItem.dbsx = `${item.things} `; newItem.dbsx = `${item.things} `;
@ -597,7 +598,7 @@ const getList = async () => {
// default: // default:
// newItem = {}; // thingname // newItem = {}; // thingname
} }
// item.dborgz newItem // item.dborgz newItem
if (item.dborgz === '待办' && newItem) { if (item.dborgz === '待办' && newItem) {
tableData.push(newItem); tableData.push(newItem);
@ -621,7 +622,7 @@ const getList = async () => {
// total.value = tableData.length; // total.value = tableData.length;
zhongdianlist.value = tableData1; zhongdianlist.value = tableData1;
// total.value = tableData.length; // total.value = tableData.length;
} finally { } finally {
loading.value = false loading.value = false
} }
@ -651,7 +652,7 @@ const suerMaterialNeed = async() =>{
message: materialNeedRow.value.things+'处理成功!', message: materialNeedRow.value.things+'处理成功!',
duration: 0, duration: 0,
}) })
getList() getList()
} }
/** 支付按钮操作 */ /** 支付按钮操作 */
const handlePay =async (row: any) => { const handlePay =async (row: any) => {
@ -661,13 +662,14 @@ const handlePay =async (row: any) => {
// router.push({ path: '/order/project', state: { idid: row.idid } }); // router.push({ path: '/order/project', state: { idid: row.idid } });
} }
if (row.type == '《物料需求计划》提交后') { if (row.type == '《物料需求计划》提交后') {
await bdgzsomthingApi.deleteByIdNew(row.id);
router.push({ path: '/purchase/MaterialPlanAudit', state: { idid: row.idid } }); router.push({ path: '/purchase/MaterialPlanAudit', state: { idid: row.idid } });
// router.push({ path: '/purchase/MaterialPlanAudit', query: { idid: row.idid } }); // router.push({ path: '/purchase/MaterialPlanAudit', query: { idid: row.idid } });
} }
if (row.type == 'BOM变更审核') { if (row.type == 'BOM变更审核') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
} }
if (row.type == 'BOM变更通知') { if (row.type == 'BOM变更通知') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
@ -681,14 +683,23 @@ const handlePay =async (row: any) => {
if (row.type == '质检通知单') { if (row.type == '质检通知单') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/quality/unqualifiedNotificationApprove', state: { idid: row.idid } }); router.push({ path: '/quality/unqualifiedNotificationApprove', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
} }
// &lt; // &lt;
if (row.type == '设计任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '装配任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '生产任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '订单发货满一年') { if (row.type == '订单发货满一年') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/deliver/mould', state: { idid: row.idid } }); router.push({ path: '/order/project', query: { idid: row.idid } });
} }
if(row.type == '《物料需求计划》的采购'&&userDept.value.deptName == '采购部'){ if(row.type == '《物料需求计划》的采购'){
showDialog.value = true; showDialog.value = true;
materialNeedRow.value = row; materialNeedRow.value = row;
@ -703,8 +714,9 @@ const handlePay =async (row: any) => {
||row.type == '装配任务到期' ||row.type == '装配任务到期'
||row.type == '生产任务到期' ||row.type == '生产任务到期'
||row.type == '质检任务到期前' ||row.type == '质检任务到期前'
||(row.type == '《物料需求计划》的采购'&&userDept.value.deptName != '采购部') ||row.type == '《物料需求计划》提交后'
// ||(row.type == ''&&userDept.value.deptName != '')
) { ) {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', query: { idid: row.idid } }); // router.push({ path: '/processDesign/heli/processdesign/bomShenhe', query: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidone(row.id) await bdgzsomthingApi.updatebdgzsomthingbyidone(row.id)
@ -712,14 +724,14 @@ const handlePay =async (row: any) => {
message: '已阅', message: '已阅',
type: 'success', type: 'success',
}); });
getList() getList()
} }
// if(row.type == 'BOM'){ // if(row.type == 'BOM'){
// //
// } // }
} }
/** 支付按钮操作 */ /** 支付按钮操作 */
const handlePaysee =async (row: any) => { const handlePaysee =async (row: any) => {
@ -733,6 +745,30 @@ const handlePaysee =async (row: any) => {
}else{ }else{
await bdgzsomthingApi.updatebdgzsomthingbyidone(row.id) await bdgzsomthingApi.updatebdgzsomthingbyidone(row.id)
} }
if (row.type == 'BOM变更通知') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/processDesign/heli/processdesign/bom', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '设计任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '质检通知单') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
router.push({ path: '/quality/unqualifiedNotificationApprove', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == 'BOM变更审核') {
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '装配任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
if (row.type == '生产任务到期'){
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //
}
} }
// //
@ -741,7 +777,7 @@ const handlePaysee =async (row: any) => {
message: '已阅', message: '已阅',
type: 'success', type: 'success',
}); });
getList() getList()
} }

View File

@ -42,6 +42,16 @@
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
<el-col :span="24" v-if="flag">
<el-row>
<el-col :span="12">
<el-form-item label="提醒天数" prop="evday" >
<el-input v-model="formData.evday" placeholder="请输入提醒天数" class="!w-250px" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -116,7 +126,7 @@
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remindman`" class="mb-0px!"> <el-form-item :prop="`${$index}.remindman`" class="mb-0px!">
<!-- <el-input v-model="row.remindman" placeholder="请输入提醒人" /> --> <!-- <el-input v-model="row.remindman" placeholder="请输入提醒人" /> -->
<el-select filterable v-model="row.remindman" placeholder="请选择对应操作" > <el-select filterable v-model="row.remindman" placeholder="请选择对应操作" clearable>
<el-option v-for="dict in userList" :key="dict.value" :label="dict.label" <el-option v-for="dict in userList" :key="dict.value" :label="dict.label"
:value="dict.label" /> :value="dict.label" />
<!-- <el-input v-model="row.type" placeholder="请输入提醒人" /> --> <!-- <el-input v-model="row.type" placeholder="请输入提醒人" /> -->
@ -165,7 +175,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const flag = ref(false)
const formDatalist = ref({ const formDatalist = ref({
id: undefined, id: undefined,
@ -193,6 +203,7 @@ const formDatalist = ref({
taskDispatchDetails: [], taskDispatchDetails: [],
}) })
const formData = ref({ const formData = ref({
evday:undefined,
id: undefined, id: undefined,
serialnumber: undefined, serialnumber: undefined,
event: undefined, event: undefined,
@ -246,13 +257,16 @@ userList.value = await UserApi.getSimpleUserList()
try { try {
formData.value = await AttentiontodoApi.getAttentiontodo(id); formData.value = await AttentiontodoApi.getAttentiontodo(id);
formDatalist.value = await AttentiontodoApi.getAttentiontodolist(id); formDatalist.value = await AttentiontodoApi.getAttentiontodolist(id);
flag.value=false
if (formData.value.event=='《物料需求计划》的采购'){
flag.value=true
}
// formData.valuetype // formData.valuetype
formData.value.type = formData.value.type.split(','); formData.value.type = formData.value.type.split(',');
// taskDispatchDetails // taskDispatchDetails
formData.value.taskDispatchDetails = []; formData.value.taskDispatchDetails = [];
// formDatalist.value // formDatalist.value
formDatalist.value.forEach(item => { formDatalist.value.forEach(item => {
// //
@ -264,7 +278,7 @@ userList.value = await UserApi.getSimpleUserList()
// taskDispatchDetails // taskDispatchDetails
formData.value.taskDispatchDetails.push(row); formData.value.taskDispatchDetails.push(row);
}); });
} catch (error) { } catch (error) {
console.error("Error:", error); console.error("Error:", error);
} finally { } finally {
@ -278,21 +292,31 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
// //
await formRef.value.validate() await formRef.value.validate()
await subFormRef.value.validate() await subFormRef.value.validate()
// //
formLoading.value = true formLoading.value = true
try { try {
const data = formData.value as unknown as AttentiontodoApi.AttentiontodoVO const data = { ...formData.value } as unknown as AttentiontodoApi.AttentiontodoVO
data.type=data.type.join(',') data.type=data.type.join(',')
// for (let i = 0; i < data.taskDispatchDetails.length; i++) { // for (let i = 0; i < data.taskDispatchDetails.length; i++) {
// const value = data.taskDispatchDetails[i]; // const value = data.taskDispatchDetails[i];
// data.attr3=data.taskDispatchDetails[i].remindman // data.attr3=data.taskDispatchDetails[i].remindman
// data.type=data.taskDispatchDetails[i].type // data.type=data.taskDispatchDetails[i].type
// //
// } // }
if (formData.value.event=='《物料需求计划》的采购'&&(formData.value.evday==null || formData.value.evday=='' )){
message.error("《物料需求计划》的采购,必须配置提醒天数,请确认")
return
}
for (let i = 0; i < data.taskDispatchDetails.length; i++) {
if (data.taskDispatchDetails[i].type==2&&data.taskDispatchDetails[i].remindman==null){
message.error("操作类型为关注,必须配置提醒人,请确认")
return
}
}
if (formType.value === 'create') { if (formType.value === 'create') {
// await AttentiontodoApi.createAttentiontodoline(data) // await AttentiontodoApi.createAttentiontodoline(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
@ -359,4 +383,4 @@ const onDeleteItem = async (index) => {
</script> </script>

View File

@ -643,7 +643,13 @@ const submitForm = async (operate) => {
item.category = 'OTHER_LIST' item.category = 'OTHER_LIST'
item.status = 1 item.status = 1
}) })
const data = formData.value as unknown as DeliverOrderApi.DeliverOrderVO var data = formData.value as unknown as DeliverOrderApi.DeliverOrderVO
// if(data.deliverOrderSubs.length >1){
// data.deliverOrderSubs.forEach(element => {
// element.saleOrderSubId = element.projectOrderId;
// });
// }
const orderId = await DeliverOrderApi.operateDeliverOrder(data) const orderId = await DeliverOrderApi.operateDeliverOrder(data)
message.success(t('common.operationSuccess')) message.success(t('common.operationSuccess'))
// //
@ -909,24 +915,36 @@ const queryData = async (type: string, id?: number) => {
formData.value.deliverOrderSubs = [] formData.value.deliverOrderSubs = []
let saleOrderIdArr = formData.value.saleOrderIds.split(',') let saleOrderIdArr = formData.value.saleOrderIds.split(',')
for (let i = 0; i < saleOrderIdArr.length; i++) { for (let i = 0; i < saleOrderIdArr.length; i++) {
formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat( var subList = await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i]);
await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i]) subList.forEach((sub)=>{
) sub.saleOrderId = saleOrderIdArr[i];
formData.value.deliverOrderSubs.forEach((sub) => {
sub.remark = '' sub.remark = ''
sub.saleOrderSubId = sub.id sub.saleOrderSubId = sub.id
sub.id = '' sub.id = ''
sub.saleOrderCode = sub.projectOrderCode sub.saleOrderCode = sub.projectOrderCode
sub.amounts = sub.amount - sub.deliverAmount sub.amounts = sub.amount - sub.deliverAmount
}) })
formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat(
subList
)
// formData.value.deliverOrderSubs.forEach((sub) => {
// sub.saleOrderId = saleOrderIdArr[i];
// sub.remark = ''
// sub.saleOrderSubId = sub.id
// sub.id = ''
// sub.saleOrderCode = sub.projectOrderCode
// sub.amounts = sub.amount - sub.deliverAmount
// })
} }
// console.log(formData.value.deliverOrderSubs )
} else { } else {
// //
formData.value.deliverOrderSubs = subArr.filter((sub) => sub.category == 'DELIVER_LIST') formData.value.deliverOrderSubs = subArr.filter((sub) => sub.category == 'DELIVER_LIST')
formData.value.deliverOrderOtherSubs = subArr.filter((sub) => sub.category == 'OTHER_LIST') formData.value.deliverOrderOtherSubs = subArr.filter((sub) => sub.category == 'OTHER_LIST')
} }
console.log("打印发货信息"); //console.log("");
console.log(formData.value.deliverOrderSubs); //
// console.log(formData.value.deliverOrderSubs);
// //
let logParams = { let logParams = {
pageNo: 1, pageNo: 1,

View File

@ -222,7 +222,10 @@
<el-table-column min-width="120px" align="center" fixed="right"> <el-table-column min-width="120px" align="center" fixed="right">
<template #header><span class="hl-table_header">*</span>需求完成日期</template> <template #header><span class="hl-table_header">*</span>需求完成日期</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.requireEndDate`" class="mb-0px!" :rules="subFormRules.requireEndDate"> <el-form-item v-if="getDisable(row.bomEditStatus) == true" :prop="`${$index}.requireEndDate`" class="mb-0px!" >
<el-date-picker :disabled="getDisable(row.bomEditStatus)" class="!w-265px" v-model="row.requireEndDate" type="date" value-format="x" placeholder="需求完成日期" />
</el-form-item>
<el-form-item v-if="getDisable(row.bomEditStatus)==false" :prop="`${$index}.requireEndDate`" class="mb-0px!" :rules="subFormRules.requireEndDate">
<el-date-picker :disabled="getDisable(row.bomEditStatus)" class="!w-265px" v-model="row.requireEndDate" type="date" value-format="x" placeholder="需求完成日期" /> <el-date-picker :disabled="getDisable(row.bomEditStatus)" class="!w-265px" v-model="row.requireEndDate" type="date" value-format="x" placeholder="需求完成日期" />
</el-form-item> </el-form-item>
</template> </template>

View File

@ -36,7 +36,7 @@
"build:quickapp-webview-union": "uni build -p quickapp-webview-union", "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
"tsc": "vue-tsc --noEmit --skipLibCheck", "tsc": "vue-tsc --noEmit --skipLibCheck",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
"prepare": "husky install", "prepare": "cd .. && husky install frontend/.husky",
"lint-staged": "lint-staged" "lint-staged": "lint-staged"
}, },
"lint-staged": { "lint-staged": {

View File

@ -136,6 +136,8 @@ const handleOk = async (active) => {
} }
// //
const handleStart = async () => { const handleStart = async () => {
//
isLoading.value = true
const params = { const params = {
zjMxId: detailInfo.value?.id, zjMxId: detailInfo.value?.id,
workTime: workTime.value, workTime: workTime.value,

View File

@ -137,6 +137,7 @@ const handleOk = async (active) => {
} }
// //
const handleStart = async () => { const handleStart = async () => {
isLoading.value = true;
const params = { const params = {
zjMxId: detailInfo.value?.id, zjMxId: detailInfo.value?.id,
workTime: workTime.value, workTime: workTime.value,