近期修改
This commit is contained in:
parent
05d944ecd4
commit
b076998bb0
@ -151,7 +151,7 @@ public class bdgzsomthingController {
|
||||
BeanUtils.toBean(list, bdgzsomthingRespVO.class));
|
||||
}
|
||||
|
||||
// @Scheduled(fixedRate = 10800000)
|
||||
@Scheduled(fixedRate = 10800000)
|
||||
public void scheduledTask() {
|
||||
bdgzsomthingService.selectds();
|
||||
}
|
||||
@ -159,15 +159,15 @@ public class bdgzsomthingController {
|
||||
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
// selectHasPrice();
|
||||
// selectSafeStorageAndDeliverOneYear();
|
||||
selectHasPrice();
|
||||
selectSafeStorageAndDeliverOneYear();
|
||||
}
|
||||
// @Scheduled(cron = "0 0 2 * * ?")
|
||||
@Scheduled(cron = "0 0 2 * * ?")
|
||||
public void selectHasPrice(){
|
||||
bdgzsomthingService.selectHasPrice();
|
||||
}
|
||||
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
@Scheduled(cron = "0 0 0 * * ?")
|
||||
public void selectSafeStorageAndDeliverOneYear(){bdgzsomthingService.selectSafeStorageAndDeliverOneYear();}
|
||||
@PostMapping("/getMessage")
|
||||
@Operation(summary = "小程序消息")
|
||||
|
@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialExc
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialRespVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory.vo.StorageInventoryPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO;
|
||||
@ -148,4 +149,12 @@ public class MaterialController {
|
||||
PageResult<StorageInventoryDO> pageResult = materialService.getStorageNowPageAll(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/getSupplementPage")
|
||||
@Operation(summary = "获得库存补充分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:storage-inventory:query')")
|
||||
public CommonResult<PageResult<MaterialDO>> getSupplementPage(@Valid StorageInventoryPageReqVO pageReqVO) {
|
||||
PageResult<MaterialDO> pageResult = materialService.getSupplementPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
}
|
||||
|
@ -171,8 +171,14 @@ public class StorageController {
|
||||
storageInventoryDO.setShortName(materialDO.getShortName());
|
||||
storageInventoryDO.setBoomCode(materialDO.getCode());
|
||||
}
|
||||
storageInventoryDO.setPrice(storageMatDO.getPrice());
|
||||
}else {
|
||||
storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().add(storageMatDO.getStorageOkQty()));
|
||||
BigDecimal totalNumber = storageInventoryDO.getYardAmount().add(storageMatDO.getStorageOkQty());
|
||||
BigDecimal inventoryPrice = storageInventoryDO.getYardAmount().multiply(storageInventoryDO.getPrice());
|
||||
BigDecimal inPrice = storageMatDO.getStorageOkQty().multiply(storageMatDO.getPrice());
|
||||
BigDecimal sumPrice = inventoryPrice.add(inPrice);
|
||||
storageInventoryDO.setPrice(sumPrice.divide(totalNumber,2, RoundingMode.HALF_UP));
|
||||
storageInventoryDO.setYardAmount(totalNumber);
|
||||
}
|
||||
storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory.vo.StorageInventoryPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
@ -14,6 +15,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogN
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.MaterialTypeEnum;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum;
|
||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO;
|
||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||
@ -23,6 +25,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 物料 Mapper
|
||||
@ -163,4 +166,54 @@ public interface MaterialMapper extends BaseMapperX<MaterialDO> {
|
||||
}
|
||||
|
||||
|
||||
default PageResult<MaterialDO> getSupplementPage(StorageInventoryPageReqVO pageReqVO){
|
||||
MPJLambdaWrapper<MaterialDO> subQuery = new MPJLambdaWrapper<>();
|
||||
subQuery.select(MaterialDO::getId)
|
||||
.leftJoin(StorageInventoryDO.class, "s", StorageInventoryDO::getMaterialId, MaterialDO::getId)
|
||||
.disableSubLogicDel()
|
||||
.groupBy(MaterialDO::getId)
|
||||
.having("COALESCE(SUM(s.yard_amount), 0) < COALESCE(MAX(t.inv_safe), 0)");
|
||||
//执行子查询获取符合条件的matCode
|
||||
List<Long> qualifiedMatCodes = this.selectList(subQuery)
|
||||
.stream()
|
||||
.map(MaterialDO::getId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
MPJLambdaWrapper<MaterialDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(MaterialDO.class)
|
||||
.select("ifnull(sum(s.yard_amount),0) matRest")
|
||||
.select("t.name as matName,t.code as matCode,d.label as matType,t.spec as matSpec,t.brand as matBrand")
|
||||
.select("d1.label as matUnit")
|
||||
.select("w.wh_name as whName","r.rg_name as rgName","p.pn_name as pnName")
|
||||
.select("t.material_type as materialTypeId","t.unit as matUnitId")
|
||||
.leftJoin(StorageInventoryDO.class, "s", StorageInventoryDO::getMaterialId, MaterialDO::getId)
|
||||
.leftJoin(DictDataDO.class,"d",DictDataDO::getValue, MaterialDO::getMaterialType)
|
||||
.leftJoin(DictDataDO.class,"d1",DictDataDO::getValue, MaterialDO::getUnit)
|
||||
.leftJoin(WarehouseDO.class,"w",WarehouseDO::getId, StorageInventoryDO::getWhId)
|
||||
.leftJoin(RgDO.class,"r",RgDO::getId, StorageInventoryDO::getRgId)
|
||||
.leftJoin(PnDO.class,"p",PnDO::getId, StorageInventoryDO::getPnId)
|
||||
.disableSubLogicDel()
|
||||
.groupBy(StorageInventoryDO::getId)
|
||||
.groupBy(MaterialDO::getId)
|
||||
.orderByDesc(StorageInventoryDO::getId);
|
||||
|
||||
query.like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatSpec()),MaterialDO::getSpec, pageReqVO.getMatSpec())
|
||||
.like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatName()), MaterialDO::getName, pageReqVO.getMatName())
|
||||
.like(!com.alibaba.druid.util.StringUtils.isEmpty(pageReqVO.getMatCode()), MaterialDO::getCode, pageReqVO.getMatCode())
|
||||
.eq(true,MaterialDO::getVirtualPart, YesOrNoEnum.N.name())
|
||||
.eq(MaterialDO::getStatus,1)
|
||||
.eq(MaterialDO::getTenantId, 2)
|
||||
.eq(pageReqVO.getWhId()!= null,StorageInventoryDO::getWhId, pageReqVO.getWhId())
|
||||
.eq(pageReqVO.getRgId()!= null,StorageInventoryDO::getRgId, pageReqVO.getRgId())
|
||||
.eq(pageReqVO.getPnId()!= null,StorageInventoryDO::getPnId, pageReqVO.getPnId())
|
||||
.eq("d.dict_type","heli_material_type")
|
||||
.eq("d1.dict_type","heli_material_unit");
|
||||
if (!qualifiedMatCodes.isEmpty()) {
|
||||
query.in(MaterialDO::getId, qualifiedMatCodes);
|
||||
} else {
|
||||
// 如果没有符合条件的matCode,返回空结果
|
||||
query.apply("1 = 0");
|
||||
}
|
||||
return selectPage(pageReqVO, query);
|
||||
}
|
||||
}
|
||||
|
@ -170,9 +170,9 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
|
||||
|
||||
query.selectAll(MaterialPlanBoomDO.class)
|
||||
.select("mat.id as matId","mat.name as matName","mat.code as matCode","mat.spec as matSpec","mat.unit as matUnit","mat.material_type as matType")
|
||||
.select("sum(ifnull(sm.storage_ok_qty,0)) as matRest")
|
||||
.select("sum(ifnull(sm.yard_amount,0)) as matRest")
|
||||
.leftJoin(MaterialDO.class, "mat", MaterialDO::getId, MaterialPlanDetailDO::getMaterialId)
|
||||
.leftJoin(StorageMaterialDO.class,"sm",StorageMaterialDO::getId, MaterialPlanDetailDO::getMaterialId)
|
||||
.leftJoin(StorageInventoryDO.class,"sm",StorageInventoryDO::getMaterialId, MaterialPlanDetailDO::getMaterialId)
|
||||
.disableSubLogicDel()
|
||||
.groupBy(MaterialPlanBoomDO::getId)
|
||||
.orderByDesc(MaterialPlanBoomDO::getCreateTime);
|
||||
|
@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.material;
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory.vo.StorageInventoryPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
@ -67,4 +68,6 @@ public interface MaterialService {
|
||||
PageResult<MaterialDO> getStorageNowPageGroupMaterial(StorageLogPageReqVO pageReqVO);
|
||||
|
||||
PageResult<StorageInventoryDO> getStorageNowPageAll(StorageLogPageReqVO pageReqVO);
|
||||
|
||||
PageResult<MaterialDO> getSupplementPage(StorageInventoryPageReqVO pageReqVO);
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import com.chanko.yunxi.mes.framework.tenant.core.util.TenantUtils;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialExcelVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory.vo.StorageInventoryPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageLogPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||
@ -284,6 +285,11 @@ public class MaterialServiceImpl implements MaterialService {
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<MaterialDO> getSupplementPage(StorageInventoryPageReqVO pageReqVO) {
|
||||
return materialMapper.getSupplementPage(pageReqVO);
|
||||
}
|
||||
|
||||
private void checkData(List<MaterialExcelVO> materialExcelVOList) {
|
||||
// 基础校验
|
||||
Set<ConstraintViolation<List<MaterialExcelVO>>> validate = validator.validate(materialExcelVOList, MaterialExcelVO.class);
|
||||
|
@ -248,7 +248,8 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
storageMatMapper.insertBatch(outList);
|
||||
storageService.updateMatLogList(storageDO.getId(),2);
|
||||
storageService.updateMatLogList(out.getId(),2);
|
||||
|
||||
storageMapper.deleteById(storageDO);
|
||||
storageMapper.deleteById(out);
|
||||
// materialMapper.insertBatch(materialDOList);
|
||||
return success(true);
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
@ -426,6 +427,7 @@ private StorageLogService storageLogService;
|
||||
storageDO.setStockNo(STOCK_IN.getCode(serialNumberDO1.getSerialNumber().toString()));
|
||||
serialNumberService.updateSerialNumber(serialNumberDO1);
|
||||
storageDO.setStatus(2);
|
||||
storageDO.setStockInType(1);
|
||||
storageDO.setKeeper(getLoginUser().getId());
|
||||
storageDO.setKeeperTime(LocalDateTime.now());
|
||||
storageMapper.insert(storageDO);
|
||||
@ -445,6 +447,8 @@ private StorageLogService storageLogService;
|
||||
//入库日志
|
||||
updateMatLogList(storageDO.getId(),2);
|
||||
|
||||
storageMapper.deleteById(storageDO);
|
||||
|
||||
LambdaUpdateWrapper<PurchaseOrderNoDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PurchaseOrderNoDetailDO::getId,createReqVO.getId());
|
||||
updateWrapper.set(PurchaseOrderNoDetailDO::getReceivingStatus,3);
|
||||
@ -459,6 +463,11 @@ private StorageLogService storageLogService;
|
||||
wrapper.eq(StorageInventoryDO::getPnId,createReqVO.getPnId());
|
||||
wrapper.eq(StorageInventoryDO::getDeleted,0);
|
||||
StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper);
|
||||
PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(createReqVO.getId());
|
||||
BigDecimal purchasePrice=BigDecimal.ZERO;
|
||||
if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){
|
||||
purchasePrice= purchaseOrderNoDetailDO.getEstimatedPrice().divide(purchaseOrderNoDetailDO.getPurchaseAmount(), 2, RoundingMode.HALF_UP);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(storageInventoryDO)){
|
||||
storageInventoryDO = new StorageInventoryDO();
|
||||
storageInventoryDO.setMaterialId(createReqVO.getMaterialId());
|
||||
@ -474,7 +483,13 @@ private StorageLogService storageLogService;
|
||||
storageInventoryDO.setShortName(materialDO.getShortName());
|
||||
storageInventoryDO.setBoomCode(materialDO.getCode());
|
||||
}
|
||||
storageInventoryDO.setPrice(purchasePrice);
|
||||
}else {
|
||||
BigDecimal totalNumber = storageInventoryDO.getYardAmount().add(createReqVO.getStorageAmount());
|
||||
BigDecimal inventoryPrice = storageInventoryDO.getYardAmount().multiply(storageInventoryDO.getPrice());
|
||||
BigDecimal inPrice = createReqVO.getStorageAmount().multiply(purchasePrice);
|
||||
BigDecimal sumPrice = inventoryPrice.add(inPrice);
|
||||
storageInventoryDO.setPrice(sumPrice.divide(totalNumber,2, RoundingMode.HALF_UP));
|
||||
storageInventoryDO.setYardAmount(storageInventoryDO.getYardAmount().add(createReqVO.getStorageAmount()));
|
||||
}
|
||||
storageInventoryMapper.insertOrUpdate(storageInventoryDO);
|
||||
|
@ -323,7 +323,8 @@ public class StorageInServiceImpl implements StorageInService {
|
||||
storageMatMapper.insertBatch(outList);
|
||||
storageService.updateMatLogList(storageDO.getId(),2);
|
||||
storageService.updateMatLogList(out.getId(),2);
|
||||
|
||||
storageMapper.deleteById(storageDO);
|
||||
storageMapper.deleteById(out);
|
||||
return CommonResult.success(true);
|
||||
}
|
||||
|
||||
|
@ -71,8 +71,13 @@ public class UnqualifiedNotificationServiceImpl implements UnqualifiedNotificati
|
||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||
unqualifiedNotification.setCode(CodeEnum.UNQUALIFIED_NOTIFICATION.getCode(serialNumberDO.getSerialNumber().toString()));
|
||||
unqualifiedNotification.setNotificationStatus(UnqualifiedNotificationStatusEnum.valueOf(createReqVO.getActive()).getCode());
|
||||
try {
|
||||
unqualifiedNotificationMapper.insert(unqualifiedNotification);
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
unqualifiedNotificationMapper.insert(unqualifiedNotification);
|
||||
|
||||
//质检通知单预警
|
||||
{
|
||||
|
@ -27,7 +27,7 @@
|
||||
<!-- <if test="wh_id != null and wh_id != ''">-->
|
||||
<!-- AND wh_id = #{wh_id}-->
|
||||
<!-- </if>-->
|
||||
select mat_id,mat_name,mat_code,mat_rest,material_type,wh_id,rg_id,pn_id,spec as mat_spec,unit as mat_unit,'' as lot_no,storage_ok_qty from v_storage_material_amount where > 0
|
||||
select mat_id,mat_name,mat_code,mat_rest,material_type,wh_id,rg_id,pn_id,spec as mat_spec,unit as mat_unit,'' as lot_no,storage_ok_qty from v_storage_material_amount where mat_rest > 0
|
||||
<if test="wh_id != null and wh_id != ''">
|
||||
AND wh_id = #{wh_id}
|
||||
</if>
|
||||
|
@ -79,3 +79,8 @@ export const getStorageNowAllPage = async (params) => {
|
||||
export const getStorageNowMaterialGroupPage = async (params) => {
|
||||
return await request.get({ url: `/heli/material/page-material-group`, params })
|
||||
}
|
||||
|
||||
// 查询库存补充
|
||||
export const getSupplementPage = async (params) => {
|
||||
return await request.get({ url: `/heli/material/getSupplementPage`, params })
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ v-model="queryParams.purchaseNo" placeholder="采购单号" clearable @keyup.ent
|
||||
</el-form-item>
|
||||
<el-form-item label="单据日期" prop="createTime">
|
||||
<el-date-picker
|
||||
class="!w-240px" v-model="queryParams.createTime" type="date" value-format="x"
|
||||
class="!w-220px" v-model="queryParams.createTime" type="date" value-format="x"
|
||||
placeholder="单据日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierName">
|
||||
@ -21,27 +21,27 @@ v-model="queryParams.purchaseNo" placeholder="采购单号" clearable @keyup.ent
|
||||
v-model="queryParams.supplierName" placeholder="供应商" clearable @keyup.enter="handleQuery"
|
||||
class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="采购单类型" prop="purchaseType">
|
||||
<el-select v-model="queryParams.purchaseType" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_ORDER_TYPE)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="采购单类型" prop="purchaseType">-->
|
||||
<!-- <el-select v-model="queryParams.purchaseType" placeholder="下拉选择" clearable class="!w-240px">-->
|
||||
<!-- <el-option-->
|
||||
<!--v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_ORDER_TYPE)" :key="dict.value"-->
|
||||
<!-- :label="dict.label" :value="dict.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="物料需求计划单号" prop="materialPlanNo">
|
||||
<el-input
|
||||
v-model="queryParams.materialPlanNo" placeholder="物料需求计划单号" clearable @keyup.enter="handleQuery"
|
||||
class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="采购物类型" prop="goodsType">
|
||||
<el-select v-model="queryParams.goodsType" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_GOODS_TYPE)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="采购物类型" prop="goodsType">-->
|
||||
<!-- <el-select v-model="queryParams.goodsType" placeholder="下拉选择" clearable class="!w-220px">-->
|
||||
<!-- <el-option-->
|
||||
<!--v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_GOODS_TYPE)" :key="dict.value"-->
|
||||
<!-- :label="dict.label" :value="dict.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="单据状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-220px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_ORDER_STATUS).filter(item=>item.value != 1)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
@ -151,7 +151,7 @@ const queryParams = reactive({
|
||||
purchaseNo: undefined,
|
||||
supplierId: undefined,
|
||||
contractNo: undefined,
|
||||
purchaseType: undefined,
|
||||
purchaseType: 2,
|
||||
projectMaterialPlanId: undefined,
|
||||
goodsType: undefined,
|
||||
currencyType: undefined,
|
||||
@ -201,6 +201,7 @@ const handleQuery = () => {
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
queryFormRef.value.resetFields()
|
||||
setDefaultDate()
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
|
@ -318,7 +318,7 @@
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column prop="matUnit" label="系统单位" min-width="100" align="center">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.HELI_MATERIAL_UNIT" :value="scope.row.matUnit" v-if="typeof scope.row.matUnit === 'number'"/>
|
||||
<dict-tag :type="DICT_TYPE.HELI_MATERIAL_UNIT" :value="scope.row.matUnit" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="description" min-width="180" label="备注" align="center">
|
||||
|
@ -671,17 +671,11 @@ import { dateFormatter, formatDate } from '@/utils/formatTime'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { useTagsViewStore } from '@/store/modules/tagsView'
|
||||
import MaterialSelect from '@/views/heli/hlvuestyle/materialSelect.vue'
|
||||
import CompositionSelect from '@/views/heli/hlvuestyle/compositionSelect.vue'
|
||||
|
||||
import materials from '@/views/heli/storage/materials.vue'
|
||||
import MaterialDialog from '@/views/heli/purchaseorder/materialDialog.vue'
|
||||
import BoomDialog from '@/views/heli/purchaseorder/boomDialog.vue'
|
||||
import SupplierSelect from '@/views/heli/hlvuestyle/supplierSelect.vue'
|
||||
import {setFlagsFromString} from "node:v8";
|
||||
import {
|
||||
createPurchaseOrderNoDetail, deletePurchaseOrderNoDetail,
|
||||
PurchaseOrderNoDetailVO, updatePurchaseOrderNoDetail
|
||||
} from "@/api/heli/purchaseordernodetail";
|
||||
|
||||
const reload: any = inject('reload')
|
||||
const { t } = useI18n() // 国际化
|
||||
|
@ -13,7 +13,7 @@ v-model="queryParams.purchaseNo" placeholder="采购单号" clearable @keyup.ent
|
||||
</el-form-item>
|
||||
<el-form-item label="单据日期" prop="createTime">
|
||||
<el-date-picker
|
||||
class="!w-240px" v-model="queryParams.createTime" type="date" value-format="x"
|
||||
class="!w-220px" v-model="queryParams.createTime" type="date" value-format="x"
|
||||
placeholder="单据日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierName">
|
||||
@ -21,27 +21,27 @@ class="!w-240px" v-model="queryParams.createTime" type="date" value-format="x"
|
||||
v-model="queryParams.supplierName" placeholder="供应商" clearable @keyup.enter="handleQuery"
|
||||
class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="采购单类型" prop="purchaseType">
|
||||
<el-select v-model="queryParams.purchaseType" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_ORDER_TYPE)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="采购单类型" prop="purchaseType">-->
|
||||
<!-- <el-select v-model="queryParams.purchaseType" placeholder="下拉选择" clearable class="!w-240px">-->
|
||||
<!-- <el-option-->
|
||||
<!--v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_ORDER_TYPE)" :key="dict.value"-->
|
||||
<!-- :label="dict.label" :value="dict.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="物料需求计划单号" prop="materialPlanNo">
|
||||
<el-input
|
||||
v-model="queryParams.materialPlanNo" placeholder="物料需求计划单号" clearable @keyup.enter="handleQuery"
|
||||
class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="采购物类型" prop="goodsType">
|
||||
<el-select v-model="queryParams.goodsType" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_GOODS_TYPE)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="采购物类型" prop="goodsType">-->
|
||||
<!-- <el-select v-model="queryParams.goodsType" placeholder="下拉选择" clearable class="!w-220px">-->
|
||||
<!-- <el-option-->
|
||||
<!--v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PURCHASE_GOODS_TYPE)" :key="dict.value"-->
|
||||
<!-- :label="dict.label" :value="dict.value" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="单据状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-240px">
|
||||
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-220px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_ORDER_STATUS)" :key="dict.value"
|
||||
:label="dict.label" :value="dict.value" />
|
||||
@ -86,7 +86,7 @@ label="单据日期" align="center" prop="createTime" :formatter="dateFormatter"
|
||||
fixed>
|
||||
<template #default="scope">
|
||||
{{
|
||||
formatDate(scope.row.createTime, 'YYYY-MM-DD')
|
||||
formatDate1(scope.row.createTime, 'YYYY-MM-DD')
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -170,7 +170,7 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
<span style="margin-left:20px;width: 110px">联系人:{{ printData.contactName }}</span>
|
||||
<span style="margin-left:20px;width: 150px">电话:{{ printData.contactMobile }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<table class="print-table">
|
||||
@ -184,7 +184,7 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
<col style="width: 7%;" />
|
||||
<col style="width: 10%;" />
|
||||
<col style="width: 7%;" />
|
||||
|
||||
|
||||
|
||||
</colgroup>
|
||||
<thead>
|
||||
@ -198,7 +198,7 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
<th>采购数量</th>
|
||||
<th>单价(元)</th>
|
||||
<th>总价格(元)</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -216,8 +216,8 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
<td>{{ printData.purchaseOrderNoDetailList[index]?.purchaseAmountSum || '' }}</td>
|
||||
<td>{{ printData.purchaseOrderNoDetailList[index]?.estimatedPriceSum || '' }}</td> -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"></td>
|
||||
@ -245,7 +245,7 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button @click="printDialogVisible = false">关闭</el-button>
|
||||
@ -256,7 +256,7 @@ link type="primary" @click="editReceivingStatus(scope.row.id)"
|
||||
|
||||
<script setup lang="ts">
|
||||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { dateFormatter, formatDate } from '@/utils/formatTime'
|
||||
import {dateFormatter, formatDate, formatDate1} from '@/utils/formatTime'
|
||||
import download from '@/utils/download'
|
||||
import * as PurchaseOrderApi from '@/api/heli/purchaseorder'
|
||||
import * as PurchaseOrderNoApi from '@/api/heli/purchaseorderno'
|
||||
@ -279,7 +279,7 @@ const queryParams = reactive({
|
||||
purchaseNo: undefined,
|
||||
supplierId: undefined,
|
||||
contractNo: undefined,
|
||||
purchaseType: undefined,
|
||||
purchaseType: 2,
|
||||
projectMaterialPlanId: undefined,
|
||||
goodsType: undefined,
|
||||
currencyType: undefined,
|
||||
@ -315,7 +315,7 @@ const getList = async () => {
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
if (queryParams.createTime !== "Invalid Date" && queryParams.createTime !== "") {
|
||||
queryParams.createTime = formatDate(queryParams.createTime, 'YYYY-MM-DD')
|
||||
queryParams.createTime = formatDate1(queryParams.createTime, 'YYYY-MM-DD')
|
||||
}
|
||||
getList()
|
||||
}
|
||||
@ -323,6 +323,7 @@ const handleQuery = () => {
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
queryFormRef.value.resetFields()
|
||||
setDefaultDate()
|
||||
handleQuery()
|
||||
}
|
||||
const multipleTable: any = ref<InstanceType<typeof ElTable>>()
|
||||
@ -504,22 +505,22 @@ function doPrint() {
|
||||
.order-info {
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.stamp-info {
|
||||
margin-top: 10px;
|
||||
|
||||
|
||||
}
|
||||
.stamp-info span{
|
||||
font-size: 15px !important;
|
||||
|
||||
|
||||
}
|
||||
.order-info span{
|
||||
font-size: 15px !important;
|
||||
|
||||
|
||||
}
|
||||
.print-table {
|
||||
width: 100%;
|
||||
@ -538,7 +539,7 @@ function doPrint() {
|
||||
}
|
||||
@media print {
|
||||
body { margin: 0; }
|
||||
.print-content {
|
||||
.print-content {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
@ -558,7 +559,7 @@ function doPrint() {
|
||||
iframe.contentWindow?.print()
|
||||
setTimeout(() => document.body.removeChild(iframe), 1000)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function limitTo20Chars(input) {
|
||||
@ -573,12 +574,12 @@ function limitTo20Chars(input) {
|
||||
body * {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* 只显示打印区域 */
|
||||
#printArea, #printArea * {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
|
||||
/* 打印区域定位 */
|
||||
#printArea {
|
||||
position: absolute;
|
||||
@ -586,7 +587,7 @@ function limitTo20Chars(input) {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* 隐藏弹窗相关元素 */
|
||||
.el-dialog, .el-dialog__wrapper, .el-dialog__header, .el-dialog__footer {
|
||||
display: none !important;
|
||||
@ -595,7 +596,7 @@ function limitTo20Chars(input) {
|
||||
|
||||
.order-info {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
@ -607,11 +608,11 @@ function limitTo20Chars(input) {
|
||||
}
|
||||
.stamp-info {
|
||||
margin-top: 10px;
|
||||
|
||||
|
||||
}
|
||||
.stamp-info span{
|
||||
font-size: 15px !important;
|
||||
|
||||
|
||||
}
|
||||
.print-table {
|
||||
width: 100%;
|
||||
@ -632,12 +633,12 @@ function limitTo20Chars(input) {
|
||||
}
|
||||
|
||||
.print-table th {
|
||||
background-color: #f5f7fa;
|
||||
color: #303133;
|
||||
background-color: #f5f7fa;
|
||||
color: #303133;
|
||||
font-weight: 600;
|
||||
font-size: 13px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
@ -109,7 +109,7 @@ v-for="dict in pnCurrentList" :key="dict.id" :label="dict.pn_name"
|
||||
|
||||
<script setup lang="ts">
|
||||
import download from '@/utils/download'
|
||||
import * as StorageLogApi from '@/api/heli/storagelog'
|
||||
import * as MaterialApi from '@/api/heli/material'
|
||||
import * as StorageinventoryApi from '@/api/heli/storageinventory'
|
||||
|
||||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
@ -158,7 +158,8 @@ const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
// const data = await StorageLogApi.getSupplementPage(queryParams)
|
||||
const data = await StorageinventoryApi.getSupplementPage(queryParams)
|
||||
// const data = await StorageinventoryApi.getSupplementPage(queryParams)
|
||||
const data = await MaterialApi.getSupplementPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
|
Loading…
Reference in New Issue
Block a user