Merge remote-tracking branch 'origin/main'
# Conflicts: # mes-ui/mes-ui-admin-vue3/src/views/heli/taskdispatch/detailDialog.vue
This commit is contained in:
commit
d4b45af32c
@ -63,7 +63,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode STORAGE_LOG_NOT_EXISTS = new ErrorCode(1_003_006, "库存日志不存在");
|
||||
ErrorCode STORAGE_CHECK_NOT_EXISTS = new ErrorCode(1_003_007, "库存盘点不存在");
|
||||
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, "项目订单不存在");
|
||||
/************发货管理***********/
|
||||
|
@ -43,7 +43,9 @@ public class AttentiontodoRespVO {
|
||||
@Schema(description = "提醒周期(天)")
|
||||
@ExcelProperty("提醒周期(天)")
|
||||
private String remindtime;
|
||||
|
||||
@Schema(description = "提醒天数")
|
||||
@ExcelProperty("提醒天数")
|
||||
private String evday;
|
||||
@Schema(description = "提醒人")
|
||||
@ExcelProperty("提醒人")
|
||||
private String remindman;
|
||||
|
@ -34,6 +34,9 @@ public class AttentiontodoSaveReqVO {
|
||||
@Schema(description = "提醒周期(天)")
|
||||
private String remindtime;
|
||||
|
||||
@Schema(description = "提醒天数")
|
||||
private String evday;
|
||||
|
||||
@Schema(description = "提醒人")
|
||||
private String remindman;
|
||||
|
||||
|
@ -2,12 +2,18 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagemat;
|
||||
|
||||
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.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||
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.storage.StorageDO;
|
||||
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.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.service.bdgzsomthing.bdgzsomthingService;
|
||||
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.storagelog.StorageLogService;
|
||||
@ -55,7 +61,12 @@ public class StorageMatController {
|
||||
|
||||
@Resource
|
||||
private StorageMatService storageMatService;
|
||||
|
||||
@Resource
|
||||
private StorageMapper storageMapper;
|
||||
@Resource
|
||||
private bdgzsomthingService bdgzsomthingService;
|
||||
@Resource
|
||||
private StorageLogNowMapper storageLogNowMapper;
|
||||
@Resource
|
||||
private SerialNumberService serialNumberService;
|
||||
|
||||
@ -86,12 +97,51 @@ public class StorageMatController {
|
||||
@Operation(summary = "批量创建入/出库物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-mat:create')")
|
||||
public CommonResult<Long> createStorageMat(@Valid @RequestBody List<StorageMatSaveReqVO> createReqVO,@RequestParam("stockid") Long stockid) {
|
||||
|
||||
storageMatService.deleteStorageMatList(stockid);
|
||||
List<String> attr3List = new ArrayList<>();
|
||||
for (StorageMatSaveReqVO item : createReqVO) {
|
||||
item.setId(null);
|
||||
if (item.getMatCode()!=null){
|
||||
attr3List.add(item.getMatCode());
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
@ -143,8 +193,7 @@ public class StorageMatController {
|
||||
@Operation(summary = "导出入/出库物料 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-mat:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStorageMatExcel(@Valid StorageMatPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
public void exportStorageMatExcel(@Valid StorageMatPageReqVO pageReqVO, HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StorageMatDO> list = storageMatService.getStorageMatPage(pageReqVO);
|
||||
// 导出 Excel
|
||||
|
@ -22,6 +22,7 @@ public class StorageMatSaveReqVO {
|
||||
@NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空")
|
||||
private Long matId;
|
||||
|
||||
private String matCode;
|
||||
@Schema(description = "仓库 Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31860")
|
||||
@NotNull(message = "仓库 Id,对应 wms_wh 表中的Id不能为空")
|
||||
private Long whId;
|
||||
|
@ -56,6 +56,10 @@ public class AttentiontodoDO extends BaseDO {
|
||||
* 提醒周期(天)
|
||||
*/
|
||||
private String remindtime;
|
||||
/**
|
||||
* 提醒天数
|
||||
*/
|
||||
private String evday;
|
||||
/**
|
||||
* 提醒人
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@ -89,6 +90,8 @@ public class DeliverOrderSubDO extends BaseDO {
|
||||
/**
|
||||
* 销售订单子项id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Long saleOrderId;
|
||||
private Long saleOrderSubId;
|
||||
/**
|
||||
* 销售订单编号
|
||||
|
@ -64,6 +64,10 @@ public class MaterialPlanBoomDO extends BaseDO {
|
||||
@TableField(exist = false)
|
||||
private String compositionName;
|
||||
@TableField(exist = false)
|
||||
private String name;
|
||||
@TableField(exist = false)
|
||||
private Long compositionId;
|
||||
@TableField(exist = false)
|
||||
private String projectMaterialPlanNo;
|
||||
|
||||
}
|
@ -74,7 +74,8 @@ public class MaterialPlanDetailDO extends BaseDO {
|
||||
private String projectMaterialPlanNo;
|
||||
@TableField(exist = false)
|
||||
private String named;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String name;
|
||||
private String creator;
|
||||
|
||||
}
|
@ -93,7 +93,8 @@ public class TaskDispatchDO extends BaseDO {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String projectSubCode;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String name;
|
||||
@TableField(exist = false)
|
||||
private String planCode;
|
||||
|
||||
|
@ -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.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||
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.Param;
|
||||
|
||||
@ -21,35 +22,80 @@ public interface bdgzsomthingMapper extends BaseMapperX<bdgzsomthingDO> {
|
||||
|
||||
List<bdgzsomthingDO> selectPagelist(bdgzsomthingDO BdgzsomthingDO);
|
||||
default PageResult<bdgzsomthingDO> selectPage(bdgzsomthingPageReqVO reqVO) {
|
||||
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())
|
||||
.ne(bdgzsomthingDO::getAttr12,1)
|
||||
.orderByDesc(bdgzsomthingDO::getId));
|
||||
MPJLambdaQueryWrapper<bdgzsomthingDO> query = new MPJLambdaQueryWrapper<>();
|
||||
if (reqVO.getCreateTime() != null) {
|
||||
query.apply("create_time BETWEEN {0} AND {1}", reqVO.getCreateTime()[0], reqVO.getCreateTime()[1]);
|
||||
}
|
||||
|
||||
if (reqVO.getClick() != null) {
|
||||
query.eq(bdgzsomthingDO::getClick, reqVO.getClick());
|
||||
}
|
||||
|
||||
if (reqVO.getClickid() != null) {
|
||||
query.eq(bdgzsomthingDO::getClickid, reqVO.getClickid());
|
||||
}
|
||||
|
||||
if (reqVO.getThingname() != null) {
|
||||
query.like(bdgzsomthingDO::getThingname, reqVO.getThingname());
|
||||
}
|
||||
|
||||
if (reqVO.getThings() != null) {
|
||||
query.eq(bdgzsomthingDO::getThings, reqVO.getThings());
|
||||
}
|
||||
|
||||
if (reqVO.getLevel() != null) {
|
||||
query.eq(bdgzsomthingDO::getLevel, reqVO.getLevel());
|
||||
}
|
||||
|
||||
if (reqVO.getDborgz() != null) {
|
||||
query.eq(bdgzsomthingDO::getDborgz, reqVO.getDborgz());
|
||||
}
|
||||
|
||||
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);
|
||||
@ -61,11 +107,18 @@ public interface bdgzsomthingMapper extends BaseMapperX<bdgzsomthingDO> {
|
||||
//00
|
||||
int deletebdgzsByThings( @Param("things") String things);
|
||||
List<bdgzsomthingDO> selecteqint(bdgzsomthingDO qcObject);
|
||||
//查询之前删除了,但是没录入对应表单数据的
|
||||
List<bdgzsomthingDO> selecteqintDeletedButNoOver(bdgzsomthingDO qcObject);
|
||||
//查询之前有的历史数据
|
||||
List<bdgzsomthingDO> selecteqintNoDeletedAndNoOver(bdgzsomthingDO qcObject);
|
||||
List<bdgzsomthingDO> selecteqintq(bdgzsomthingDO qcObject);
|
||||
List<bdgzsomthingDO> selecteqintone(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 deleteByIdNew1(@Param("id") Long id);
|
||||
void deleteOrder(bdgzsomthingDO BdgzsomthingDO);
|
||||
|
||||
List<bdgzsomthingDO> selectSafeStorage(@Param("attr3List") List<String> attr3List);
|
||||
}
|
||||
|
@ -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.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.materialplandetail.MaterialPlanDetailDO;
|
||||
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.ProcessBomDetailDO;
|
||||
@ -15,6 +16,7 @@ import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
@ -66,6 +68,8 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
|
||||
return selectPage(reqVO,query);
|
||||
}
|
||||
|
||||
List<MaterialPlanBoomDO> selectafterten(@Param("id") Long txrid, @Param("evday") String evday);
|
||||
|
||||
// default PageResult<MaterialPlanBoomDO> selectPage(MaterialPlanBoomPageReqVO reqVO) {
|
||||
// return selectPage(reqVO, new LambdaQueryWrapperX<MaterialPlanBoomDO>()
|
||||
// .eqIfPresent(MaterialPlanBoomDO::getId, reqVO.getId())
|
||||
|
@ -16,6 +16,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.mysql.cj.x.protobuf.MysqlxDatatypes;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.*;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
@ -78,7 +79,7 @@ public interface MaterialPlanDetailMapper extends BaseMapperX<MaterialPlanDetail
|
||||
// .orderByDesc(MaterialPlanDetailDO::getId));
|
||||
// }
|
||||
|
||||
List<MaterialPlanDetailDO> selectafterten(Long id);
|
||||
List<MaterialPlanDetailDO> selectafterten(@Param("id") Long id, @Param("evday") String evday);
|
||||
List<MaterialPlanDetailDO> selectafterten1();
|
||||
|
||||
}
|
@ -87,7 +87,6 @@ public interface PgMasterLineMapper extends BaseMapperX<PgMasterLineDO> {
|
||||
query.orderByDesc(PgMasterLineDO::getPgNumber);
|
||||
}else{
|
||||
query.orderByAsc(PgMasterLineDO::getPgNumber);
|
||||
// query.orderByDesc(PlanDO::getId);
|
||||
}
|
||||
query.eq(reqVO.getDetilUser() != null&&reqVO.getDetilUser() != 0, PgMasterLineDO::getDetilUser, reqVO.getDetilUser())
|
||||
.eq(reqVO.getPgType() != null, PgMasterLineDO::getPgType, reqVO.getPgType())
|
||||
|
@ -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")
|
||||
.disableSubLogicDel();
|
||||
if(reqVO.getPgType()!=null && reqVO.getPgType() == 0){
|
||||
query.orderByAsc(ProjectOrderDO::getCode);
|
||||
query.orderByAsc(PlanDO::getPlanNo);
|
||||
}else {
|
||||
query.orderByDesc(ProjectOrderDO::getCode);
|
||||
query.orderByDesc(PlanDO::getPlanNo);
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,6 +53,14 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
|
||||
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) {
|
||||
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();
|
||||
|
@ -28,6 +28,7 @@ public interface StorageLogNowMapper extends BaseMapperX<StorageLogNowDO> {
|
||||
|
||||
List<StorageLogNowDO> selectPagesmall(Long id);
|
||||
List<StorageLogNowDO> selectPagesmall1();
|
||||
List<StorageLogNowDO> selectPagesmall2(List<String> matCode);
|
||||
List<StorageLogNowDO> selectPagesmallbyid(String id);
|
||||
default PageResult<StorageLogNowDO> selectPage(StorageLogPageReqVO reqVO) {
|
||||
MPJLambdaWrapper<StorageLogNowDO> query = new MPJLambdaWrapper<>();
|
||||
|
@ -74,6 +74,7 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
|
||||
.disableSubLogicDel()
|
||||
.eq(StorageMatDO::getProjectNo,subId)
|
||||
.eq(StorageMatDO::getMatId,materialId)
|
||||
.eq(StorageDO::getStatus,2)
|
||||
.eq(StorageDO::getStockType,"1")
|
||||
.eq(StorageDO::getStockInType,"1")
|
||||
;
|
||||
@ -92,6 +93,7 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
|
||||
.disableSubLogicDel()
|
||||
.eq(StorageMatDO::getProjectNo,subId)
|
||||
.eq(StorageMatDO::getMatId,materialId)
|
||||
.eq(StorageDO::getStatus,2)
|
||||
.eq(StorageDO::getStockType,"2")
|
||||
.eq(StorageDO::getStockInType,"5")
|
||||
;
|
||||
|
@ -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.DeliverOrderSubDO;
|
||||
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.plantask.PlanTaskDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO;
|
||||
@ -115,6 +116,7 @@ public class CrossOrderManager {
|
||||
eq(ProjectOrderDO::getId, projectOrderId);
|
||||
last("LIMIT 1 FOR UPDATE");
|
||||
}});
|
||||
PlanDO planDO = planService.getPlanByProjectId(Long.valueOf(projectOrderId));
|
||||
|
||||
// 查询关联子项
|
||||
List<ProjectOrderSubDO> projectOrderSubDOList = projectOrderSubMapper.selectListByProjectOrderId(projectOrderDO.getId());
|
||||
@ -126,6 +128,7 @@ public class CrossOrderManager {
|
||||
.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()) return;
|
||||
Map<Long, List<DeliverOrderSubDO>> historyDeliveredSubsGroupBySaleSubId = historyDeliveredSubList.stream().collect(Collectors.groupingBy(DeliverOrderSubDO::getSaleOrderSubId));
|
||||
|
||||
@ -139,6 +142,8 @@ public class CrossOrderManager {
|
||||
if(allDone){
|
||||
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode());
|
||||
projectOrderDO.setDeliveryDate(deliverDate);
|
||||
planDO.setStatus(3);
|
||||
planService.updateById(planDO);
|
||||
}else{
|
||||
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) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.attentiontodo;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -58,12 +59,16 @@ public class AttentiontodoServiceImpl implements AttentiontodoService {
|
||||
attentiontodoMapper.deleteall(updateReqVO);
|
||||
if(updateReqVO.getTaskDispatchDetails()!=null&&updateReqVO.getTaskDispatchDetails().size()>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()) {
|
||||
Map<String, Object> map = (Map<String, Object>) taskDispatchDetail;
|
||||
Object remindmanValue = map.get("remindman");
|
||||
Object type = map.get("type");
|
||||
if ("1".equals(type.toString())&&remindmanValue==null){
|
||||
updateReqVO.setAttr4(null);
|
||||
}else {
|
||||
updateReqVO.setAttr4(remindmanValue.toString());
|
||||
}
|
||||
updateReqVO.setAttr5(type.toString());
|
||||
updateReqVO.setAttr2(id + "");
|
||||
updateReqVO.setId(null);
|
||||
@ -71,7 +76,7 @@ public class AttentiontodoServiceImpl implements AttentiontodoService {
|
||||
attentiontodoMapper.insert(attentiontodo);
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,4 +63,6 @@ public interface bdgzsomthingService {
|
||||
|
||||
void selectds();
|
||||
public void selectSafeStorageAndDeliverOneYear();
|
||||
public List<bdgzsomthingDO> selectSafeStorage(List<String> attr3List);
|
||||
public int updateById(bdgzsomthingDO entity);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.bdgzsomthing;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.useragent.UserAgentUtil;
|
||||
import cn.hutool.system.SystemUtil;
|
||||
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.dal.dataobject.attentiontodo.AttentiontodoDO;
|
||||
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.pgmaster.PgMasterLineDO;
|
||||
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.mysql.attentiontodo.AttentiontodoMapper;
|
||||
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.pgmaster.PgMasterMapper;
|
||||
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.enums.TaskDispatchTypeEnum;
|
||||
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.dto.AdminUserRespDTO;
|
||||
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.service.user.AdminUserService;
|
||||
@ -49,6 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -60,6 +68,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
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.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||
@ -106,6 +115,11 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
private PgMasterMapper pgMasterMapper;
|
||||
@Resource
|
||||
private ProjectOrderMapper projectOrderMapper;
|
||||
|
||||
@Resource
|
||||
private MaterialPlanBoomMapper materialPlanBoomMapper;
|
||||
@Resource
|
||||
private MaterialPlanMapper materialPlanMapper;
|
||||
@Override
|
||||
public Long createbdgzsomthing(bdgzsomthingSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -216,6 +230,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
public List<bdgzsomthingDO> getbdgzsomthingPagelist(bdgzsomthingPageReqVO pageReqVO) {
|
||||
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||
BdgzsomthingDO.setClick(pageReqVO.getClick());
|
||||
|
||||
return bdgzsomthingMapper.selectPagelist(BdgzsomthingDO);
|
||||
}
|
||||
@Override
|
||||
@ -227,6 +242,8 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
|
||||
@Override
|
||||
public void selectds() {
|
||||
|
||||
|
||||
//删除质检,生产,装配,设计任务创建时间小于今天的不包含预期的内容
|
||||
bdgzsomthingMapper.updatayesterday();
|
||||
// System.out.println("执行定时任务:" + System.currentTimeMillis() / 1000);
|
||||
@ -285,12 +302,12 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime();
|
||||
LocalDate projectEndDay = projectEndTime.toLocalDate();
|
||||
if (today.equals(projectEndDay.minusDays(1))) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单明天到期");//事件名称
|
||||
BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",明天到期");//事件名称
|
||||
} else if (today.equals(projectEndDay)) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单今日到期");//事件名称
|
||||
BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",今日到期");//事件名称
|
||||
System.out.println("projectEndTime 是今天");
|
||||
} else if (today.isAfter(projectEndDay)) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"生产任务单已逾期");//事件名称
|
||||
BdgzsomthingDO.setThings("生产任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",已逾期");//事件名称
|
||||
}else{
|
||||
BdgzsomthingDO.setAttr4("1");
|
||||
}
|
||||
@ -304,7 +321,18 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||
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")){
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
}
|
||||
@ -321,7 +349,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
//去重查询,重复则不加
|
||||
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO);
|
||||
|
||||
|
||||
System.out.println("生产任务单"+BdgzsomthingDO);
|
||||
if(selecteqint.size()>0){
|
||||
|
||||
}else{
|
||||
@ -374,11 +402,11 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
LocalDateTime projectEndTime = deliverOrderDO.getProjectEndTime();
|
||||
LocalDate projectEndDay = projectEndTime.toLocalDate();
|
||||
if (today5.equals(projectEndDay.minusDays(1))) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单明天到期");//事件名称
|
||||
BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",明天到期");//事件名称
|
||||
} else if (today5.equals(projectEndDay)) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单今日到期");//事件名称
|
||||
BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",今日到期");//事件名称
|
||||
} else if (today5.isAfter(projectEndDay)) {
|
||||
BdgzsomthingDO.setThings("编号:"+deliverOrderDO.getCode()+"装配任务单已逾期");//事件名称
|
||||
BdgzsomthingDO.setThings("装配任务单编号:"+deliverOrderDO.getCode()+" 工序:"+deliverOrderDO.getName()+",已逾期");//事件名称
|
||||
}else{
|
||||
BdgzsomthingDO.setAttr4("1");
|
||||
}
|
||||
@ -392,7 +420,17 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||
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")){
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
}
|
||||
@ -687,7 +725,15 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||
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")){
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
}
|
||||
@ -731,6 +777,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
attentiontodoDO.setAttr5("1");
|
||||
attentiontodoDO.setAttr4(userApi.getUser( Long.parseLong(storageLogNowDO.getCreator())).getNickname()); //改对应
|
||||
attentiontodoDO.setLevel("1");
|
||||
attentiontodoDO.setEvday("10");
|
||||
attentiontodookddfh9.add(attentiontodoDO);
|
||||
|
||||
|
||||
@ -756,13 +803,15 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
|
||||
|
||||
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.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||
BdgzsomthingDO.setAttr4("0");//是否点击
|
||||
BdgzsomthingDO.setThings("计划单号:"+deliverOrderDO.getProjectMaterialPlanNo()+"货物临近到货日期");//事件名称
|
||||
BdgzsomthingDO.setThings("计划单号:"+materialPlanDetailDO.getProjectMaterialPlanNo()+" 物料:"+materialPlanDetailDO.getName()+",临近到货日期");//事件名称
|
||||
BdgzsomthingDO.setAttr2(null);//因为不用跳转所以为null
|
||||
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid());
|
||||
@ -773,7 +822,18 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||
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")){
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
}
|
||||
@ -785,21 +845,74 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
}
|
||||
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||
|
||||
BdgzsomthingDO.setAttr3(deliverOrderDO.getProjectMaterialPlanNo());//获取数据当前表的id 改
|
||||
BdgzsomthingDO.setAttr3(materialPlanDetailDO.getProjectMaterialPlanNo());//获取数据当前表的id 改
|
||||
BdgzsomthingDO.setShowname(null);//获取数据当前表的创建事件 改
|
||||
//去重查询,重复则不加
|
||||
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintone(BdgzsomthingDO);
|
||||
// List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintone(BdgzsomthingDO);
|
||||
//
|
||||
//
|
||||
// if(selecteqint.size()>0){
|
||||
|
||||
|
||||
if(selecteqint.size()>0){
|
||||
|
||||
}else{
|
||||
// }else{
|
||||
//插入方法
|
||||
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);
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -813,6 +926,13 @@ 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
|
||||
@ -820,6 +940,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
*@Author lyw
|
||||
*@Date 2025-02-08 15:24
|
||||
*/
|
||||
@Transactional()
|
||||
public void selectSafeStorageAndDeliverOneYear(){
|
||||
//如果有设置了提醒周期的
|
||||
List<AttentiontodoDO> safeStorage = attentiontodoMapper.selectListByEvent("库存低于安全库存");
|
||||
@ -851,13 +972,7 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
attentiontodoDO.setLevel("1");
|
||||
attentiontodook.add(attentiontodoDO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
|
||||
List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall(attentiontodoRespVO.getTxrid());//查询符合条件的值
|
||||
{
|
||||
@ -889,25 +1004,30 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
BdgzsomthingDO.setAttr4("0");//是否点击
|
||||
BdgzsomthingDO.setAttr3(storageLogNowDO.getId().toString());//获取数据当前表的id 改
|
||||
BdgzsomthingDO.setShowname(storageLogNowDO.getCreateTime());//获取数据当前表的创建事件 改
|
||||
//去重查询,重复则不加
|
||||
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqint(BdgzsomthingDO);
|
||||
//查之前没有达到安全库存的数据
|
||||
List<bdgzsomthingDO> selecteqint = bdgzsomthingMapper.selecteqintDeletedButNoOver(BdgzsomthingDO);
|
||||
if(CollUtil.isEmpty(selecteqint)){
|
||||
//
|
||||
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintNoDeletedAndNoOver(BdgzsomthingDO);
|
||||
if (!CollUtil.isNotEmpty(bdgzsomthingDOList)){
|
||||
//插入方法
|
||||
bdgzsomthingMapper.insert(BdgzsomthingDO);
|
||||
}
|
||||
|
||||
}else{
|
||||
if (hasRemindTimeSafeStorage){
|
||||
LocalDate today = LocalDate.now();
|
||||
List<bdgzsomthingDO> updateBatch = new ArrayList<>();
|
||||
// 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)){
|
||||
bdgzsomthingDO.setAttr12("0");
|
||||
updateBatch.add(bdgzsomthingDO);
|
||||
bdgzsomthingMapper.updateYnAndAttr4(bdgzsomthingDO.getId().toString(),"0","0");
|
||||
// updateBatch.add(bdgzsomthingDO);
|
||||
}
|
||||
}
|
||||
bdgzsomthingMapper.updateBatch(updateBatch);
|
||||
// bdgzsomthingMapper.updateBatch(updateBatch);
|
||||
}
|
||||
|
||||
}
|
||||
@ -920,29 +1040,51 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
// List<StorageLogNowDO> pageResult = storageLogNowMapper.selectPagesmall();//查询符合条件的值
|
||||
|
||||
List<AttentiontodoDO> attentiontodook3 = attentiontodoService.getAttentiontodolistdaiban(3);
|
||||
if (attentiontodook3.size()<1){
|
||||
|
||||
List<DeliverOrderDO> pageResult = deliverOrderMapper.selectPagemyn1();//查询符合条件的值
|
||||
for (DeliverOrderDO storageLogNowDO : pageResult) {
|
||||
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
|
||||
attentiontodoDO.setEvent("订单发货满一年");
|
||||
attentiontodoDO.setAttr5("1");
|
||||
attentiontodoDO.setAttr4(userApi.getUser( storageLogNowDO.getCustomerId()).getNickname());
|
||||
attentiontodoDO.setLevel("1");
|
||||
attentiontodookddfh.add(attentiontodoDO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
boolean hasDbPerson = true;
|
||||
if (CollUtil.isEmpty(attentiontodook3)){
|
||||
//如果待办人员配置为空
|
||||
hasDbPerson = false;
|
||||
}
|
||||
// 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) {
|
||||
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()) {
|
||||
String ids = entry.getKey();
|
||||
List<DeliverOrderDO> list = entry.getValue();
|
||||
String[] split = ids.split(",");
|
||||
for (String s : split) {
|
||||
ProjectOrderDO projectOrderDO = projectOrderMapper.selectProjectOrderById(Long.valueOf(s));
|
||||
if (projectOrderDO.getDeliveryStatus() == 3){
|
||||
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||
|
||||
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||
BdgzsomthingDO.setThings("订单编号:"+deliverOrderDO.getCode()+"发货日期到期一年");//事件名称
|
||||
BdgzsomthingDO.setAttr2(deliverOrderDO.getCode());//因为不用跳转所以为null
|
||||
BdgzsomthingDO.setThings("订单编号:"+projectOrderDO.getCode()+"发货日期到期一年");//事件名称
|
||||
BdgzsomthingDO.setAttr2(projectOrderDO.getCode());//因为不用跳转所以为null
|
||||
BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||
BdgzsomthingDO.setTenantId(attentiontodoRespVO.getTxrid());
|
||||
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||
@ -964,32 +1106,92 @@ public class bdgzsomthingServiceImpl implements bdgzsomthingService {
|
||||
}
|
||||
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||
BdgzsomthingDO.setAttr4("0");//是否点击
|
||||
BdgzsomthingDO.setAttr3(deliverOrderDO.getCode());//获取数据当前表的id 改
|
||||
BdgzsomthingDO.setShowname(deliverOrderDO.getCreateTime());//获取数据当前表的创建事件 改
|
||||
BdgzsomthingDO.setAttr3(projectOrderDO.getCode());//获取数据当前表的id 改
|
||||
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<>();
|
||||
// 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)){
|
||||
bdgzsomthingDO.setAttr12("0");
|
||||
updateBatch.add(bdgzsomthingDO);
|
||||
|
||||
bdgzsomthingMapper.updateYnAndAttr4(bdgzsomthingDO.getId().toString(),"0","0");
|
||||
// updateBatch.add(bdgzsomthingDO);
|
||||
}
|
||||
}
|
||||
bdgzsomthingMapper.updateBatch(updateBatch);
|
||||
// bdgzsomthingMapper.updateBatch(updateBatch);
|
||||
}
|
||||
}else{
|
||||
List<bdgzsomthingDO> bdgzsomthingDOList = bdgzsomthingMapper.selecteqintNoDeletedAndNoOver(BdgzsomthingDO);
|
||||
if (!CollUtil.isNotEmpty(bdgzsomthingDOList)){
|
||||
//插入方法
|
||||
bdgzsomthingMapper.insert(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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
// for (DeliverOrderDO deliverOrderDO : deliverOrderDOS) {
|
||||
//
|
||||
//
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -139,7 +139,9 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
|
||||
updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs(), updateReqVO.getDeliverOrderOtherSubs());
|
||||
|
||||
if(updateObj.getDeliverStatus().intValue() == DeliverOrderStatusEnum.DELIVER.getCode()) {
|
||||
crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(","),updateReqVO.getDeliverDate());
|
||||
// crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(","),updateReqVO.getDeliverDate());
|
||||
crossOrderManager.refreshProjectOrderDeliverStatusNew(updateReqVO.getDeliverOrderSubs(),updateReqVO.getDeliverDate());
|
||||
|
||||
// crossOrderManager.generateStockOutOrder(updateReqVO);
|
||||
}
|
||||
}
|
||||
@ -270,7 +272,6 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
|
||||
//子订单号
|
||||
Long subId = o.getSaleOrderSubId();
|
||||
|
||||
System.out.println("子项目ID"+subId);
|
||||
//查询此订单已发货总数量
|
||||
DeliverOrderSubDO deliverOrderSubDO = deliverOrderSubMapper.searchNum(subId);
|
||||
//再获取订单中的生产数量
|
||||
|
@ -1,8 +1,20 @@
|
||||
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.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.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 javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -39,6 +51,15 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
||||
@Resource
|
||||
private SerialNumberService serialNumberService;
|
||||
@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;
|
||||
@Override
|
||||
public Long createMaterialPlan(MaterialPlanSaveReqVO createReqVO) {
|
||||
@ -72,6 +93,73 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
||||
LocalDateTime currTime = LocalDateTime.now();
|
||||
if(updateReqVO.getStatus()==2){
|
||||
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){
|
||||
updateObj.setAuditTime(currTime);
|
||||
@ -79,10 +167,10 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
||||
|
||||
materialPlanMapper.updateById(updateObj);
|
||||
|
||||
bdgzsomthingDO abc= new bdgzsomthingDO();
|
||||
abc.setThingname("《物料需求计划》提交后");
|
||||
abc.setAttr3(updateObj.getProjectMaterialPlanNo());
|
||||
bdgzsomthingMapper.updateok(abc);
|
||||
// bdgzsomthingDO abc= new bdgzsomthingDO();
|
||||
// abc.setThingname("《物料需求计划》提交后");
|
||||
// abc.setAttr3(updateObj.getProjectMaterialPlanNo());
|
||||
// bdgzsomthingMapper.updateok(abc);
|
||||
|
||||
}
|
||||
|
||||
|
@ -36,11 +36,7 @@ import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||
@Service
|
||||
@Validated
|
||||
public class MaterialPlanDetailServiceImpl implements MaterialPlanDetailService {
|
||||
@Resource
|
||||
private AdminUserApi userApi;
|
||||
|
||||
@Autowired
|
||||
private AttentiontodoService attentiontodoService;
|
||||
@Resource
|
||||
private MaterialPlanMapper materialPlanMapper;
|
||||
@Resource
|
||||
@ -66,65 +62,7 @@ public class MaterialPlanDetailServiceImpl implements MaterialPlanDetailService
|
||||
MaterialPlanDetailDO updateObj = BeanUtils.toBean(updateReqVO, MaterialPlanDetailDO.class);
|
||||
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);
|
||||
|
||||
|
||||
|
||||
|
||||
// }
|
||||
}
|
||||
}
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
@ -53,11 +53,13 @@ public interface PlanService {
|
||||
PageResult<PlanDO> getPlanPage(PlanPageReqVO pageReqVO);
|
||||
|
||||
PageResult<PlanDO> getPlanPageByStatus(PlanPageReqVO pageReqVO);
|
||||
|
||||
PlanDO getPlanByProjectId(Long projectId);
|
||||
Long generatePlanByProjectId(Long projectId);
|
||||
void generatePlanTaskByPlanId(Long planId ,String type);
|
||||
|
||||
void updatePlanStatusToTerminateByProjectId(Long projectId);
|
||||
|
||||
boolean complete(Long id);
|
||||
|
||||
int updateById(PlanDO planDO);
|
||||
}
|
||||
|
@ -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.operatelog.core.enums.OperateTypeEnum;
|
||||
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.PlanSaveReqVO;
|
||||
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) {
|
||||
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
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long generatePlanByProjectId(Long projectId){
|
||||
@ -225,7 +233,8 @@ private TaskReportMapper taskReportMapper;
|
||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||
|
||||
planDO.setPlanNo(PROJECT_PLAN.getCode(serialNumberDO.getSerialNumber().toString()));
|
||||
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
planDO.setCreator(userId.toString());
|
||||
planMapper.insert(planDO);
|
||||
// 回写序列记录
|
||||
serialNumberService.updateSerialNumber(serialNumberDO);
|
||||
@ -268,7 +277,10 @@ private TaskReportMapper taskReportMapper;
|
||||
updatePlanTaskStatusToTerminateByPlanId(planDO.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateById(PlanDO planDO){
|
||||
return planMapper.updateById(planDO);
|
||||
}
|
||||
@Override
|
||||
public boolean complete(Long id) {
|
||||
LambdaQueryWrapper<TaskDispatchDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.processbom;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.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.mysql.attentiontodo.AttentiontodoMapper;
|
||||
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.processbom.ProcessBomDetailMapper;
|
||||
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.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.user.AdminUserDO;
|
||||
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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -98,6 +102,10 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
private AttentiontodoMapper attentiontodoMapper;
|
||||
@Resource
|
||||
private DictDataMapper dictDataMapper;
|
||||
@Resource
|
||||
private AdminUserService adminUserService;
|
||||
@Resource
|
||||
private PlanMapper planMapper;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createProcessBom(ProcessBomSaveReqVO createReqVO) {
|
||||
@ -547,8 +555,8 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||
BdgzsomthingDO.setThings("BOM" + updateObj.getProjectSubCode() + "审核已通过,请推送任务通知单");//事件名称
|
||||
BdgzsomthingDO.setAttr2(getplanid.getId().toString());//跳转携带参数
|
||||
BdgzsomthingDO.setAttr3(getplanid.getId().toString());//独特标识
|
||||
BdgzsomthingDO.setAttr2(getplanid.getPlanNo());//跳转携带参数
|
||||
BdgzsomthingDO.setAttr3(getplanid.getPlanNo());//独特标识
|
||||
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||
if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态
|
||||
@ -556,7 +564,19 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
} else if (attentiontodoRespVO.getAttr5().equals("2")) {
|
||||
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")) {
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
} else if (attentiontodoRespVO.getLevel().equals("2")) {
|
||||
@ -745,7 +765,15 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
} else if (attentiontodoRespVO.getAttr5().equals("2")) {
|
||||
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")) {
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
} else if (attentiontodoRespVO.getLevel().equals("2")) {
|
||||
@ -810,7 +838,14 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
} else if (attentiontodoRespVO.getAttr5().equals("2")) {
|
||||
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")) {
|
||||
BdgzsomthingDO.setLevel("紧急");
|
||||
} else if (attentiontodoRespVO.getLevel().equals("2")) {
|
||||
|
@ -1,18 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.processdesign;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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.util.object.BeanUtils;
|
||||
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.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.ProcessDesignSaveReqSubVO;
|
||||
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.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||
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.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.ProcessDesignProgressMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum;
|
||||
@ -46,8 +51,8 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
private ProcessDesignMapper processDesignMapper;
|
||||
@Resource
|
||||
private ProcessDesignProgressMapper processDesignProgressMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private bdgzsomthingMapper bdgzsomthingMapper;
|
||||
@Override
|
||||
public PageResult<ProcessDesignProgressDO> getProcessPage(ProcessDesignProgressPageReqVO pageReqVO) {
|
||||
return processDesignProgressMapper.selectPage(pageReqVO);
|
||||
@ -56,19 +61,18 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
public Long updateBaoGong(ProcessDesignSaveReqSubVO reqVO){
|
||||
//先取出主ID下的所有报工百分比判断不能报工不能超过100
|
||||
ProcessDesignProgressDO processDesignProgressDOS = processDesignProgressMapper.selectSumJinDu(reqVO.getZid());
|
||||
BigDecimal value1 = reqVO.getProgress();
|
||||
BigDecimal threshold = new BigDecimal("100");
|
||||
BigDecimal newProgress = reqVO.getProgress();
|
||||
BigDecimal OVER_PROGRESS_VALUE = new BigDecimal("100");
|
||||
if(processDesignProgressDOS != null){
|
||||
//相加判断是否大于100,大于时返回前端并给用户提示
|
||||
|
||||
BigDecimal value2 = processDesignProgressDOS.getProgress();
|
||||
BigDecimal sum = value1.add(value2);
|
||||
BigDecimal beforeProgress = processDesignProgressDOS.getProgress();
|
||||
|
||||
if (value1.compareTo(threshold) > 0) {
|
||||
if (newProgress.compareTo(OVER_PROGRESS_VALUE) > 0) {
|
||||
//大于100时不执行,并返回给用户,提示设计进度不能超过100
|
||||
throw exception(TASK_REPORT_PARAMS_ERRORJD);
|
||||
} else {
|
||||
if(processDesignProgressDOS.getProgress().compareTo(value1)>0){
|
||||
if(beforeProgress.compareTo(newProgress)>0){
|
||||
throw exception(TASK_REPORT_PARAMS_ERRORSJBG);
|
||||
}else{
|
||||
//反之插入数据库数据
|
||||
@ -79,12 +83,11 @@ public class ProcessDesignServiceImpl implements ProcessDesignService {
|
||||
if (reqVO.getRemark() != null && !reqVO.getRemark().trim().equals("")){
|
||||
processDesignProgressDO.setRemark(reqVO.getRemark());
|
||||
}
|
||||
|
||||
processDesignProgressMapper.insert(processDesignProgressDO);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(value1.compareTo(threshold) > 0){
|
||||
if(newProgress.compareTo(OVER_PROGRESS_VALUE) > 0){
|
||||
throw exception(TASK_REPORT_PARAMS_ERRORJD);
|
||||
}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;
|
||||
}
|
||||
|
||||
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
|
||||
public Long updateBaoGong(Long zid, BigDecimal progress, String imageLink,String remark){
|
||||
//先取出主ID下的所有报工百分比判断不能报工不能超过100
|
||||
|
@ -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.ProjectOrderSubDO;
|
||||
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.orderys.OrderYsMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
|
||||
@ -106,7 +107,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
@Autowired
|
||||
private AttentiontodoService attentiontodoService;
|
||||
@Autowired
|
||||
private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper;
|
||||
private bdgzsomthingMapper bdgzsomthingMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -187,9 +188,18 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
public void showzbmoney(Long 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);
|
||||
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
|
||||
|
@ -155,6 +155,7 @@ public class StorageMatServiceImpl implements StorageMatService {
|
||||
//上面是入库,下面是要从原仓出库
|
||||
//减原仓
|
||||
for (StorageMatFBSaveReqVO storageMatFBSaveReqVO : createReqVO) {
|
||||
if (storageMatFBSaveReqVO.getWareHouseId()!=null){
|
||||
String[] split = storageMatFBSaveReqVO.getWareHouseId().split("-");
|
||||
if (split.length == 3) {
|
||||
storageMatFBSaveReqVO.setWhId(Long.valueOf(split[0]));
|
||||
@ -169,6 +170,10 @@ public class StorageMatServiceImpl implements StorageMatService {
|
||||
storageMatFBSaveReqVO.setRgId(null);
|
||||
storageMatFBSaveReqVO.setPnId(null);
|
||||
}
|
||||
}else {
|
||||
throw exception(BEFORE_STORAGE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
}
|
||||
Map<Long, List<StorageMatFBSaveReqVO>> outListByWhid = createReqVO.stream()
|
||||
.collect(Collectors.groupingBy(StorageMatFBSaveReqVO::getWhId));
|
||||
|
@ -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.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.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||
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.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.TaskDispatchDetailDO;
|
||||
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.fpuserdetail.FpUserDetailMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
|
||||
@ -81,6 +83,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
private ZjPgMasterService zjPgMasterService;
|
||||
@Resource
|
||||
private PgMasterService pgMasterService;
|
||||
@Resource
|
||||
private bdgzsomthingMapper bdgzsomthingMapper;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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){
|
||||
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId(),taskDispatchDO.getBomDetailId());
|
||||
}else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isProjectSubAssembleOver){
|
||||
|
@ -20,9 +20,9 @@
|
||||
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
|
||||
INNER JOIN system_users b ON a.attr4 = b.nickname
|
||||
LEFT JOIN system_users b ON a.attr4 = b.nickname
|
||||
WHERE a.attr2 = #{param1}
|
||||
|
||||
</select>
|
||||
|
@ -15,6 +15,11 @@
|
||||
SET yesorno = '1' , nowtime =#{nowtime}
|
||||
WHERE id = #{id}
|
||||
</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 dbzz_table
|
||||
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 dbzz_table
|
||||
SET attr4 = '1'
|
||||
WHERE thingname IN ('设计任务到期', '装配任务到期', '生产任务到期', '质检任务到期前')
|
||||
WHERE thingname IN ('设计任务到期', '装配任务到期', '生产任务到期', '质检任务到期前','《物料需求计划》的采购')
|
||||
and attr4='0'
|
||||
</update>
|
||||
<update id="updatebdgzsomthingbyupok" parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
|
||||
@ -47,7 +52,20 @@
|
||||
SET attr4 = '1'
|
||||
WHERE attr3=#{attr3} and attr4='0'
|
||||
</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 dbzz_table
|
||||
SET attr4 = '1'
|
||||
@ -60,7 +78,7 @@
|
||||
</update>
|
||||
<update id="deleteByIdNew1" parameterType="java.lang.Long">
|
||||
UPDATE dbzz_table
|
||||
SET attr4 = '0',attr12 = '1'
|
||||
SET attr4 = '1',attr12 = '1'
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
<select id="selecteqint"
|
||||
@ -70,6 +88,22 @@
|
||||
select * from dbzz_table where showname=#{showname} and attr3=#{attr3} and attr4='0' and click=#{click}
|
||||
and dborgz=#{dborgz}
|
||||
</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"
|
||||
parameterType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO"
|
||||
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO">
|
||||
|
@ -23,16 +23,11 @@
|
||||
t.transport_weight, t.transport_size, t.transport_freight_cost,
|
||||
t.remark, t.status, t.receive_person_name, t.receive_address,
|
||||
t.create_time, t.update_time, t.creator, t.updater, t.deleted,
|
||||
u.nickname AS deliverPersonName, e.name AS customerName,
|
||||
GROUP_CONCAT(DISTINCT p.code) AS saleOrderCode,
|
||||
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
|
||||
u.nickname AS deliverPersonName, e.name AS customerName FROM
|
||||
project_deliver_order t
|
||||
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
|
||||
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) < CURDATE()
|
||||
and t.show_zbmoney is null and t.deliver_status in('2')
|
||||
and t.tenant_id =#{param1}
|
||||
@ -53,13 +48,8 @@
|
||||
t.transport_weight, t.transport_size, t.transport_freight_cost,
|
||||
t.remark, t.status, t.receive_person_name, t.receive_address,
|
||||
t.create_time, t.update_time, t.creator, t.updater, t.deleted,
|
||||
u.nickname AS deliverPersonName, e.name AS customerName,
|
||||
GROUP_CONCAT(DISTINCT p.code) AS saleOrderCode,
|
||||
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
|
||||
u.nickname AS deliverPersonName, e.name AS customerName FROM
|
||||
project_deliver_order t
|
||||
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
|
||||
WHERE t.deleted = 0 AND (t.deliver_status = 2) AND t.tenant_id = 1
|
||||
|
@ -8,4 +8,25 @@
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见: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>
|
@ -10,11 +10,11 @@
|
||||
-->
|
||||
|
||||
<select id="selectafterten"
|
||||
parameterType="Long"
|
||||
parameterType="map"
|
||||
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
|
||||
b.project_material_plan_no,a.project_material_plan_id
|
||||
b.project_material_plan_no,a.project_material_plan_id,bm.name
|
||||
FROM
|
||||
project_material_plan_detail a
|
||||
JOIN
|
||||
@ -23,10 +23,10 @@
|
||||
base_material bm ON a.material_id = bm.id
|
||||
WHERE
|
||||
b.status = '3'
|
||||
AND CURDATE() >= DATE_SUB(a.require_arrive_time, INTERVAL 10 DAY)
|
||||
and b.tenant_id =#{param1}
|
||||
AND CURDATE() >= DATE_SUB(a.require_arrive_time, INTERVAL #{evday} DAY)
|
||||
and b.tenant_id =#{id}
|
||||
) 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'
|
||||
group by project_material_plan_no
|
||||
|
||||
|
@ -42,6 +42,7 @@
|
||||
AND blank_date <= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_WORKBLANK'
|
||||
@ -87,6 +88,7 @@
|
||||
AND three_dim_date <= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_3D'
|
||||
@ -132,6 +134,7 @@
|
||||
AND two_dim_date <= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_2D'
|
||||
@ -183,6 +186,7 @@
|
||||
AND blank_date<= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_WORKBLANK'
|
||||
@ -230,6 +234,7 @@
|
||||
AND three_dim_date<= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_3D'
|
||||
@ -277,6 +282,7 @@
|
||||
AND two_dim_date <= DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||
) x
|
||||
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
|
||||
WHERE
|
||||
d.process_design_type = 'BLUEPRINT_2D'
|
||||
|
@ -132,6 +132,42 @@
|
||||
and a.tenant_id =#{param1}
|
||||
|
||||
</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 < 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"
|
||||
parameterType="Long"
|
||||
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
|
||||
|
@ -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
|
||||
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
|
||||
WHERE b.end_time <= 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 <= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} and b.procedure_status!=2
|
||||
GROUP BY b.id
|
||||
HAVING COALESCE(SUM(a.amount), 0) < b.amount) d
|
||||
where d.dispatch_id =c.id and c.dispatch_type ='ASSEMBLE'
|
||||
|
||||
|
||||
</select>
|
||||
<select id="getzplist1"
|
||||
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
|
||||
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
|
||||
WHERE b.end_time <= 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
|
||||
LEFT JOIN pro_task_report a ON a.dispatch_detail_id = b.id
|
||||
WHERE b.end_time <= 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 <= DATE_ADD(CURDATE(), INTERVAL 1 DAY) and b.tenant_id =#{param1} and b.procedure_status!=2
|
||||
GROUP BY b.id
|
||||
HAVING COALESCE(SUM(a.amount), 0) < b.amount) d
|
||||
where d.dispatch_id =c.id and c.dispatch_type ='PRODUCTION'
|
||||
|
@ -153,7 +153,7 @@
|
||||
<el-dialog title="提示" v-model="showDialog" width="30%" center>
|
||||
<span>该物料需求计划是否正常?</span>
|
||||
<template #footer>
|
||||
<el-button @click="showDialog = false">取 消</el-button>
|
||||
<el-button @click="showDialog = false">异 常</el-button>
|
||||
<el-button type="primary" @click="suerMaterialNeed()">正 常</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -320,6 +320,7 @@ const buttonTypes = ref([
|
||||
'生产任务到期',
|
||||
'质检任务到期前',
|
||||
'《物料需求计划》的采购',
|
||||
'《物料需求计划》提交后',
|
||||
'BOM变更通知'
|
||||
|
||||
]);
|
||||
@ -661,13 +662,14 @@ const handlePay =async (row: any) => {
|
||||
// router.push({ path: '/order/project', state: { idid: row.idid } });
|
||||
}
|
||||
if (row.type == '《物料需求计划》提交后') {
|
||||
|
||||
await bdgzsomthingApi.deleteByIdNew(row.id);
|
||||
router.push({ path: '/purchase/MaterialPlanAudit', state: { idid: row.idid } });
|
||||
// router.push({ path: '/purchase/MaterialPlanAudit', query: { idid: row.idid } });
|
||||
}
|
||||
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 == 'BOM变更通知') {
|
||||
// router.push({ path: '/processDesign/heli/processdesign/bomShenhe', state: { idid: row.idid } });
|
||||
@ -681,14 +683,23 @@ const handlePay =async (row: any) => {
|
||||
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 == '设计任务到期'){
|
||||
await bdgzsomthingApi.updatebdgzsomthingbyidoneandok(row.id) //直接修改取消显示
|
||||
}
|
||||
if (row.type == '装配任务到期'){
|
||||
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: '/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;
|
||||
materialNeedRow.value = row;
|
||||
|
||||
@ -703,7 +714,8 @@ const handlePay =async (row: any) => {
|
||||
||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 } });
|
||||
@ -733,6 +745,30 @@ const handlePaysee =async (row: any) => {
|
||||
}else{
|
||||
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) //直接修改取消显示
|
||||
}
|
||||
}
|
||||
|
||||
// 库存低于安全库存
|
||||
|
@ -42,6 +42,16 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</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-row>
|
||||
<el-col :span="12">
|
||||
@ -116,7 +126,7 @@
|
||||
<template #default="{ row, $index }">
|
||||
<el-form-item :prop="`${$index}.remindman`" class="mb-0px!">
|
||||
<!-- <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"
|
||||
:value="dict.label" />
|
||||
<!-- <el-input v-model="row.type" placeholder="请输入提醒人" /> -->
|
||||
@ -165,7 +175,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
|
||||
const flag = ref(false)
|
||||
|
||||
const formDatalist = ref({
|
||||
id: undefined,
|
||||
@ -193,6 +203,7 @@ const formDatalist = ref({
|
||||
taskDispatchDetails: [],
|
||||
})
|
||||
const formData = ref({
|
||||
evday:undefined,
|
||||
id: undefined,
|
||||
serialnumber: undefined,
|
||||
event: undefined,
|
||||
@ -246,7 +257,10 @@ userList.value = await UserApi.getSimpleUserList()
|
||||
try {
|
||||
formData.value = await AttentiontodoApi.getAttentiontodo(id);
|
||||
formDatalist.value = await AttentiontodoApi.getAttentiontodolist(id);
|
||||
|
||||
flag.value=false
|
||||
if (formData.value.event=='《物料需求计划》的采购'){
|
||||
flag.value=true
|
||||
}
|
||||
// 将formData.value中的type字段分割成数组
|
||||
formData.value.type = formData.value.type.split(',');
|
||||
|
||||
@ -284,7 +298,7 @@ const submitForm = async () => {
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value as unknown as AttentiontodoApi.AttentiontodoVO
|
||||
const data = { ...formData.value } as unknown as AttentiontodoApi.AttentiontodoVO
|
||||
data.type=data.type.join(',')
|
||||
// for (let i = 0; i < data.taskDispatchDetails.length; i++) {
|
||||
// const value = data.taskDispatchDetails[i];
|
||||
@ -293,6 +307,16 @@ const submitForm = async () => {
|
||||
// 在这里执行你需要的操作
|
||||
|
||||
// }
|
||||
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') {
|
||||
// await AttentiontodoApi.createAttentiontodoline(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
|
@ -643,7 +643,13 @@ const submitForm = async (operate) => {
|
||||
item.category = 'OTHER_LIST'
|
||||
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)
|
||||
message.success(t('common.operationSuccess'))
|
||||
// 上传附件
|
||||
@ -909,24 +915,36 @@ const queryData = async (type: string, id?: number) => {
|
||||
formData.value.deliverOrderSubs = []
|
||||
let saleOrderIdArr = formData.value.saleOrderIds.split(',')
|
||||
for (let i = 0; i < saleOrderIdArr.length; i++) {
|
||||
formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat(
|
||||
await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i])
|
||||
)
|
||||
formData.value.deliverOrderSubs.forEach((sub) => {
|
||||
var subList = await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i]);
|
||||
subList.forEach((sub)=>{
|
||||
sub.saleOrderId = saleOrderIdArr[i];
|
||||
sub.remark = ''
|
||||
sub.saleOrderSubId = sub.id
|
||||
sub.id = ''
|
||||
sub.saleOrderCode = sub.projectOrderCode
|
||||
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 {
|
||||
// 分类发货清单与其他物料清单
|
||||
formData.value.deliverOrderSubs = subArr.filter((sub) => sub.category == 'DELIVER_LIST')
|
||||
formData.value.deliverOrderOtherSubs = subArr.filter((sub) => sub.category == 'OTHER_LIST')
|
||||
}
|
||||
console.log("打印发货信息");
|
||||
console.log(formData.value.deliverOrderSubs);
|
||||
//console.log("打印发货信息");
|
||||
//
|
||||
// console.log(formData.value.deliverOrderSubs);
|
||||
// 操作日志
|
||||
let logParams = {
|
||||
pageNo: 1,
|
||||
|
@ -222,7 +222,10 @@
|
||||
<el-table-column min-width="120px" align="center" fixed="right">
|
||||
<template #header><span class="hl-table_header">*</span>需求完成日期</template>
|
||||
<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-form-item>
|
||||
</template>
|
||||
|
@ -36,7 +36,7 @@
|
||||
"build:quickapp-webview-union": "uni build -p quickapp-webview-union",
|
||||
"tsc": "vue-tsc --noEmit --skipLibCheck",
|
||||
"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": {
|
||||
|
@ -136,6 +136,8 @@ const handleOk = async (active) => {
|
||||
}
|
||||
// 开始生产
|
||||
const handleStart = async () => {
|
||||
// 发送请求
|
||||
isLoading.value = true
|
||||
const params = {
|
||||
zjMxId: detailInfo.value?.id,
|
||||
workTime: workTime.value,
|
||||
|
@ -137,6 +137,7 @@ const handleOk = async (active) => {
|
||||
}
|
||||
// 开始生产
|
||||
const handleStart = async () => {
|
||||
isLoading.value = true;
|
||||
const params = {
|
||||
zjMxId: detailInfo.value?.id,
|
||||
workTime: workTime.value,
|
||||
|
Loading…
Reference in New Issue
Block a user