feat():U8同步数据修改

master
jiyufei 2 months ago
parent 48ad92440e
commit 9d6844c985

@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
/**
@ -477,6 +478,13 @@ public class YysDayWorkServiceImpl extends ServiceImpl<YysDayWorkMapper, YysDayW
requisitionResult = yysRequisitionReportService.saveBatch(request.getRequisitionReportList());
}
if ((prodResult && requisitionResult) || (packResult && requisitionResult)) {
//修改是否完工状态
CompletableFuture.runAsync(()->{
YysDayWorkEntity entity = this.getById(request.getId());
entity.setIsConfirm("2");
entity.setProductionStatus("2");
this.updateById(entity);
});
return "确认成功";
}
return "确认失败";

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import jnpf.base.UserInfo;
import jnpf.base.model.ColumnDataModel;
import jnpf.database.model.superQuery.SuperJsonModel;
@ -19,6 +20,7 @@ import jnpf.model.yysmaterialclass.MaterialClassSync;
import jnpf.model.yysmaterialclass.YysMaterialClassConstant;
import jnpf.model.yysmaterialclass.YysMaterialClassForm;
import jnpf.model.yysmaterialclass.YysMaterialClassPagination;
import jnpf.model.yyssupplierclass.SupplierClassSync;
import jnpf.permission.entity.UserEntity;
import jnpf.service.YysMaterialClassService;
import jnpf.util.*;
@ -33,6 +35,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -316,6 +320,16 @@ public class YysMaterialClassServiceImpl extends ServiceImpl<YysMaterialClassMap
//过滤出同步过的
List<String> list = this.list(new LambdaQueryWrapper<>(YysMaterialClassEntity.class).isNull(YysMaterialClassEntity::getDeleteMark))
.stream().map(YysMaterialClassEntity::getClassId).collect(Collectors.toList());
//顶级分类
Map<String, String> topCollect = query.stream()
.filter(obj -> obj.getCInvCCode().equals("1"))
.collect(Collectors.toMap(MaterialClassSync::getCInvCCode, MaterialClassSync::getCInvCName));
//二级分类
Map<String, String> secondCollect = query.stream()
.filter(obj -> obj.getCInvCCode().equals("1"))
.collect(Collectors.toMap(MaterialClassSync::getCInvCCode, MaterialClassSync::getCInvCName));
List<YysMaterialClassEntity> result = Lists.newArrayList();
for (MaterialClassSync sync : query) {
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.contains(sync.getCInvCCode())) {
@ -326,6 +340,22 @@ public class YysMaterialClassServiceImpl extends ServiceImpl<YysMaterialClassMap
entity.setId(mainId);
entity.setClassId(sync.getCInvCCode());
entity.setClassName(sync.getCInvCName());
if (sync.getIInvCGrade().equals("1")) {
entity.setParentClassification(sync.getIInvCGrade());
entity.setParentClassname("顶级");
} else if (sync.getIInvCGrade().equals("2")) {
char charAt = sync.getCInvCCode().charAt(0);
if (topCollect.containsKey(String.valueOf(charAt))) {
entity.setParentClassification(String.valueOf(charAt));
entity.setParentClassname(topCollect.get(String.valueOf(charAt)));
}
} else {
String rule = sync.getCInvCCode().substring(0, 3);
if (secondCollect.containsKey(rule)) {
entity.setParentClassification(rule);
entity.setParentClassname(secondCollect.get(rule));
}
}
entity.setEnableStatus("1");
result.add(entity);
}

@ -31,6 +31,7 @@ import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
@ -353,9 +354,16 @@ public class YysMaterialInformationServiceImpl extends ServiceImpl<YysMaterialIn
entity.setMaterialId(sync.getCInvCode());
entity.setMaterialName(sync.getCInvName());
entity.setMaterialClassification(sync.getCInvCCode());
entity.setMaterialSname(sync.getCInvAddCode());
entity.setModel(sync.getEInvStd());
entity.setUnitMeasurement(sync.getCComUnitCode());
//改为计量单位组
entity.setMaterialSname(sync.getCGroupCode());
entity.setSafetyStock(sync.getISafeNum());
if (StringUtils.isNoneBlank(sync.getDEDate())) {
entity.setEnableStatus("1");
} else {
entity.setEnableStatus("2");
}
result.add(entity);
}
if (CollectionUtils.isEmpty(result)) {

@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -314,27 +315,40 @@ public class YysSupplierClassServiceImpl extends ServiceImpl<YysSupplierClassMap
if (org.apache.commons.collections4.CollectionUtils.isEmpty(query)) {
return "远程供应商分类信息为空";
}
//过滤出同步过的
List<String> list = this.list(new LambdaQueryWrapper<>(YysSupplierClassEntity.class).isNull(YysSupplierClassEntity::getDeleteMark))
.stream().map(YysSupplierClassEntity::getClassId).collect(Collectors.toList());
//顶级分类
Map<String, String> collect = query.stream()
.filter(obj -> obj.getIVCGrade().equals("1"))
.collect(Collectors.toMap(SupplierClassSync::getCVCCode, SupplierClassSync::getCVCName));
List<YysSupplierClassEntity> result = Lists.newArrayList();
for (SupplierClassSync sync : query) {
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.contains(sync.getCVCCode())) {
continue;
}
YysSupplierClassEntity entity = new YysSupplierClassEntity();
String mainId = RandomUtil.uuId();
entity.setId(mainId);
entity.setClassId(sync.getCVCCode());
entity.setClassName(sync.getCVCName());
entity.setEnableStatus("1");
//todo 供应商上级分类
if ("1".equals(sync.getIVCGrade())) {
entity.setParentClassification(sync.getIVCGrade());
entity.setParentClassname("顶级");
} else {
char charAt = sync.getCVCCode().charAt(0);
if (collect.containsKey(String.valueOf(charAt))) {
entity.setParentClassification(String.valueOf(charAt));
entity.setParentClassname(collect.get(String.valueOf(charAt)));
}
}
result.add(entity);
}
if (CollectionUtils.isEmpty(result)) {
//过滤出同步过的
List<YysSupplierClassEntity> collect1 = result.stream().filter(obj -> !list.contains(obj.getClassId())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(collect1)) {
return "没有需要同步的数据";
}
boolean b = this.saveBatch(result);
boolean b = this.saveBatch(collect1);
if (b) {
return "同步成功";
}

@ -23,6 +23,7 @@ import jnpf.permission.entity.UserEntity;
import jnpf.service.YysSupplierInformationService;
import jnpf.util.*;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@ -327,8 +328,11 @@ public class YysSupplierInformationServiceImpl extends ServiceImpl<YysSupplierIn
entity.setSupplierId(sync.getCVenCode());
entity.setSupplierSname(sync.getCVenAbbName());
entity.setSupplierCname(sync.getCVenName());
if (StringUtils.isNoneBlank(sync.getDEndDate())) {
entity.setEnableStatus("1");
//todo 供应商分类 有待商榷
} else {
entity.setEnableStatus("2");
}
entity.setSupplierClassification(sync.getCVCCode());
result.add(entity);
}

@ -31,6 +31,7 @@ import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
@ -315,15 +316,22 @@ public class YysUnitInformationServiceImpl extends ServiceImpl<YysUnitInformatio
RowMapper<UnitInfoSync> rowMapper = new BeanPropertyRowMapper<>(UnitInfoSync.class);
String sql = "select * from dbo.ComputationUnit";
List<UnitInfoSync> query = this.jdbcTemplate.query(sql, rowMapper);
if (org.apache.commons.collections4.CollectionUtils.isEmpty(query)) {
if (CollectionUtils.isEmpty(query)) {
return "远程单位信息为空";
}
RowMapper<UnitGroupSync> groupSyncRowMapper = new BeanPropertyRowMapper<>(UnitGroupSync.class);
String groupSql = "select * from dbo.ComputationGroup";
List<UnitGroupSync> groupSyncs = this.jdbcTemplate.query(groupSql, groupSyncRowMapper);
Map<String, String> collect = Collections.emptyMap();
if (CollectionUtils.isNotEmpty(groupSyncs)) {
collect = groupSyncs.stream().collect(Collectors.toMap(UnitGroupSync::getCGroupCode, UnitGroupSync::getCGroupName));
}
//过滤出同步过的
List<String> list = this.list(new LambdaQueryWrapper<>(YysUnitInformationEntity.class).isNull(YysUnitInformationEntity::getDeleteMark))
.stream().map(YysUnitInformationEntity::getUnitId).collect(Collectors.toList());
List<YysUnitInformationEntity> result = Lists.newArrayList();
for (UnitInfoSync sync : query) {
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.contains(sync.getCComunitCode())) {
if (CollectionUtils.isNotEmpty(list) && list.contains(sync.getCComunitCode())) {
continue;
}
YysUnitInformationEntity entity = new YysUnitInformationEntity();
@ -332,6 +340,9 @@ public class YysUnitInformationServiceImpl extends ServiceImpl<YysUnitInformatio
entity.setUnitId(sync.getCComunitCode());
entity.setUnitName(sync.getCComUnitName());
entity.setGroupCode(sync.getCGroupCode());
if (MapUtils.isNotEmpty(collect) && collect.containsKey(entity.getGroupCode())) {
entity.setGroupName(collect.get(entity.getGroupCode()));
}
entity.setEnableStatus("1");
result.add(entity);
}

@ -16,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.*;
@ -56,6 +57,9 @@ public class YysSupplierInformationController {
@Autowired
private YysSupplierInformationService yysSupplierInformationService;
@Resource
private YysSupplierClassService yysSupplierClassService;
/**
*
@ -68,9 +72,14 @@ public class YysSupplierInformationController {
public ActionResult list(@RequestBody YysSupplierInformationPagination yysSupplierInformationPagination) throws IOException {
List<YysSupplierInformationEntity> list = yysSupplierInformationService.getList(yysSupplierInformationPagination);
List<Map<String, Object>> realList = new ArrayList<>();
List<YysSupplierClassEntity> supplierClassEntities = yysSupplierClassService.list();
Map<String, String> collect = supplierClassEntities.stream().collect(Collectors.toMap(YysSupplierClassEntity::getClassId, YysSupplierClassEntity::getClassName));
for (YysSupplierInformationEntity entity : list) {
Map<String, Object> yysSupplierInformationMap = JsonUtil.entityToMap(entity);
yysSupplierInformationMap.put("id", yysSupplierInformationMap.get("id"));
if (ObjectUtil.isNotEmpty(entity) && collect.containsKey(entity.getSupplierClassification())) {
yysSupplierInformationMap.put("supplierClassification", collect.get(entity.getSupplierClassification()));
}
//副表数据
//子表数据
realList.add(yysSupplierInformationMap);

@ -20,6 +20,8 @@ public class YysMaterialClassEntity {
private String classId;
@TableField(value = "CLASS_NAME" , updateStrategy = FieldStrategy.IGNORED)
private String className;
@TableField(value = "PARENT_CLASSNAME", updateStrategy = FieldStrategy.IGNORED)
private String parentClassname;
@TableField(value = "PARENT_CLASSIFICATION" , updateStrategy = FieldStrategy.IGNORED)
private String parentClassification;
@TableField(value = "ENABLE_STATUS" , updateStrategy = FieldStrategy.IGNORED)

@ -2,10 +2,10 @@ package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
/**
*
*
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
@ -20,6 +20,8 @@ public class YysSupplierClassEntity {
private String classId;
@TableField(value = "CLASS_NAME", updateStrategy = FieldStrategy.IGNORED)
private String className;
@TableField(value = "PARENT_CLASSNAME", updateStrategy = FieldStrategy.IGNORED)
private String parentClassname;
@TableField(value = "PARENT_CLASSIFICATION", updateStrategy = FieldStrategy.IGNORED)
private String parentClassification;
@TableField(value = "ENABLE_STATUS", updateStrategy = FieldStrategy.IGNORED)

@ -22,6 +22,8 @@ public class YysUnitInformationEntity {
private String unitName;
@TableField(value = "GROUP_CODE" , updateStrategy = FieldStrategy.IGNORED)
private String groupCode;
@TableField(value = "GROUP_NAME" , updateStrategy = FieldStrategy.IGNORED)
private String groupName;
@TableField(value = "ENABLE_STATUS" , updateStrategy = FieldStrategy.IGNORED)
private String enableStatus;
@TableField("REAMRK")

@ -17,7 +17,7 @@ public class MaterialClassSync {
/**
*
*/
private boolean iInvCGrade;
private String iInvCGrade;
/**
*

@ -33,4 +33,22 @@ public class MaterialInformationSync {
*
*/
private String iSafeNum;
/**
*
*/
private String dEDate;
/**
*
*/
private String eInvStd;
/**
*
*/
private String cComUnitCode;
/**
*
*/
private String cGroupCode;
}

@ -18,7 +18,7 @@ public class SupplierClassSync {
/**
*
*/
private boolean iVCGrade;
private String iVCGrade;
/**
*

@ -24,4 +24,9 @@ public class SupplierInfoSync {
*
**/
private String cVCCode;
/**
*
*/
private String dEndDate;
}

@ -0,0 +1,15 @@
package jnpf.model.yysunitinformation;
import lombok.Data;
@Data
public class UnitGroupSync {
/**
*
*/
private String cGroupName;
/**
*
*/
private String cGroupCode;
}

@ -36,6 +36,9 @@ public class YysTaskHandler {
@Autowired
private UserProvider userProvider;
/**
*
*/
//每十分钟执行一次
@XxlJob("syncDeviceData")
public void syncDeviceData() {
@ -76,6 +79,9 @@ public class YysTaskHandler {
}
/**
*
*/
//每十分钟执行一次
@XxlJob("syncDeviceWarnData")
public void syncDeviceWarnData() {

@ -1,56 +1,46 @@
<template>
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="600px">
<el-dialog title="详情" :close-on-click-modal="false" append-to-body :visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="600px">
<el-row :gutter="15" class="">
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right">
<template v-if="!loading">
<el-col :span="24">
<jnpf-form-tip-item label="物料编码"
prop="materialId" >
<jnpf-form-tip-item label="物料编码" prop="materialId">
<p>{{ dataForm.materialId }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="物料名称"
prop="materialName" >
<jnpf-form-tip-item label="物料名称" prop="materialName">
<p>{{ dataForm.materialName }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="物料分类"
prop="materialClassification" >
<jnpf-form-tip-item label="物料分类" prop="materialClassification">
<p>{{ dataForm.materialClassification }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="计量单位"
prop="unitMeasurement" >
<jnpf-form-tip-item label="计量单位" prop="unitMeasurement">
<p>{{ dataForm.unitMeasurement }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="物料简称"
prop="materialSname" >
<jnpf-form-tip-item label="计量单位组" prop="materialSname">
<p>{{ dataForm.materialSname }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="规格/型号"
prop="model" >
<jnpf-form-tip-item label="规格/型号" prop="model">
<p>{{ dataForm.model }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="安全库存"
prop="safetyStock" >
<jnpf-form-tip-item label="安全库存" prop="safetyStock">
<p>{{ dataForm.safetyStock }}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="启用状态"
prop="enableStatus" >
<jnpf-form-tip-item label="启用状态" prop="enableStatus">
<p>{{ dataForm.enableStatus }} </p>
</jnpf-form-tip-item>
</el-col>

@ -36,7 +36,7 @@
</jnpf-form-tip-item>
</el-col>
<el-col :span="24">
<jnpf-form-tip-item label="物料简称" prop="materialSname">
<jnpf-form-tip-item label="计量单位组" prop="materialSname">
<JnpfInput v-model="dataForm.materialSname" @change="changeData('materialSname', -1)"
placeholder="请输入" clearable :style='{ "width": "100%" }'>
</JnpfInput>

@ -68,7 +68,7 @@
</el-table-column>
<el-table-column prop="unitMeasurement" label="计量单位" align="center">
</el-table-column>
<el-table-column prop="materialSname" label="物料简称" align="center">
<el-table-column prop="materialSname" label="计量单位组" align="center">
</el-table-column>
<el-table-column prop="model" label="规格/型号" align="center">
</el-table-column>

Loading…
Cancel
Save