Commit 33341622 authored by hehongwei's avatar hehongwei

32类物料清洗

parent 95873cdf
package com.ruoyi.system.domain;
import java.util.Arrays;
public class ActStringList {
private String key;
private String[] value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String[] getValue() {
return value;
}
public void setValue(String[] value) {
this.value = value;
}
@Override
public String toString() {
return "ActStringList{" +
"key='" + key + '\'' +
", value=" + Arrays.toString(value) +
'}';
}
}
......@@ -50,6 +50,26 @@ public class ActSuppliesImportCleaningAcc extends BaseEntity
private String moneyColumns;
/** 导入表内日期*/
private String dateColumn;
/** 费用来源*/
private String sOfExpenses;
/** 32类分类*/
private String categories;
public String getsOfExpenses() {
return sOfExpenses;
}
public void setsOfExpenses(String sOfExpenses) {
this.sOfExpenses = sOfExpenses;
}
public String getCategories() {
return categories;
}
public void setCategories(String categories) {
this.categories = categories;
}
public String getKmCode() {
return kmCode;
......
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.*;
import org.springframework.stereotype.Repository;
import java.util.List;
......@@ -10,6 +11,7 @@ import java.util.List;
* @author
* @date 2023-08-30
*/
@Repository
public interface ActSuppliesCleaningRuleMapper
{
......
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.*;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ActSuppliesConverMapper {
List<ActSuppliesTemplate> templiteList(ActSuppliesTemplate sysSupplies);
......
......@@ -3,6 +3,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.ActSuppliesConvertrole;
import com.ruoyi.system.domain.ActSuppliesTemplate;
import org.springframework.stereotype.Repository;
/**
* 通用规则Mapper接口
......@@ -10,6 +11,7 @@ import com.ruoyi.system.domain.ActSuppliesTemplate;
* @author ruoyi
* @date 2023-08-29
*/
@Repository
public interface ActSuppliesConvertroleMapper
{
/**
......
......@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.ActSuppliesHistorydata;
import org.springframework.stereotype.Repository;
/**
* 历史数据Mapper接口
......@@ -9,6 +10,7 @@ import com.ruoyi.system.domain.ActSuppliesHistorydata;
* @author dongjg
* @date 2023-08-01
*/
@Repository
public interface ActSuppliesHistorydataMapper
{
/**
......
package com.ruoyi.system.service.impl;
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -14,6 +15,7 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.mapper.ActSuppliesCleaningRuleMapper;
import com.ruoyi.system.mapper.ActSuppliesDetailsMapper;
import com.sun.javafx.collections.MappingChange;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -38,6 +40,9 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
@Autowired
private ActSuppliesCleaningRuleMapper actSuppliesCleaningRuleMapper;
@Autowired
private ActSuppliesDetailsMapper actSuppliesDetailsMapper;
/**
* 查询 历史数据
*
......@@ -635,37 +640,49 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
attributes[i-1]= 'A' + String.valueOf(i);
}
//获取物料明细编码与32类编码对应关系
ActSuppliesDetails actSuppliesDetails = new ActSuppliesDetails();
List<ActSuppliesDetails> actSuppliesDetails1 = actSuppliesDetailsMapper.selectActSuppliesDetailsMaterialList(actSuppliesDetails);
for (int i = 0; i < actOperation2s.size(); i++) {
Gson gson = new Gson();
JSONArray parse = (JSONArray) JSONArray.parse(actOperation2s.get(i).getConvenRole());
Map<Integer, String>[] mapArray = gson.fromJson(actOperation2s.get(i).getHistoryRole(), Map[].class);
Map<String, String>[] mapArray = gson.fromJson(actOperation2s.get(i).getHistoryRole(), Map[].class);
Map<String,String[]> mapcode = new HashMap<>();
for (Map<String, String> map : mapArray) {
String key = map.get("key");
String value = map.get("value");
String[] values = value.split(",");
mapcode.put(key,values);
}
//获取导入excel表数据存储到生成表实体类中
for (int x = (int)parse.getJSONObject(0).get("HeaderRow"); x < actOperation2s.get(i).getActOperation2().length; x++) {
//判断数据是否为空,为空结束循环
Map<String,String> mapcode = new HashMap<>();
for (Map<Integer, String> map : mapArray) {
mapcode.put(map.get("key"),map.get("value"));
}
String s1 = mapcode.get(String.valueOf(x));
String[] s1 = mapcode.get(String.valueOf(x));
if (actOperation2s.get(i).getActOperation2()[x]!=null){
ActSuppliesImportTable actSuppliesImportTable = new ActSuppliesImportTable();
ActSuppliesImportCleaningAcc actSuppliesImportCleaningAcc = new ActSuppliesImportCleaningAcc();
UUID uuid = UUID.randomUUID();
String s = StringUtils.remove(uuid.toString(), '-');
actSuppliesImportTable.setKmCode(s1);
if (s1!=null){
actSuppliesImportTable.setKmCode(s1[0]);
}
actSuppliesImportTable.setId(s);
actSuppliesImportTable.sethId(actOperation2s.get(i).gethId());
actSuppliesImportTable.sethDate(actOperation2s.get(i).gethDate());
actSuppliesImportTable.setMining(actOperation2s.get(i).getMining());
actSuppliesImportTable.setExportUuid(actOperation2s.get(i).getExportUuid());
actSuppliesImportCleaningAcc.setKmCode(s1);
if (s1!=null) {
actSuppliesImportCleaningAcc.setKmCode(s1[0]);
actSuppliesImportCleaningAcc.setsOfExpenses(s1[1]);
}
actSuppliesImportCleaningAcc.setId(s);
actSuppliesImportCleaningAcc.sethId(actOperation2s.get(i).gethId());
actSuppliesImportCleaningAcc.setHdate(actOperation2s.get(i).gethDate());
......@@ -675,7 +692,6 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
//获取数组x行的真实非空长度
List<Object> actOperation2s1 = Arrays.asList(actOperation2s.get(i).getActOperation2()[x]);
long count = Arrays.stream(actOperation2s.get(i).getActOperation2()[x]).filter(Objects::nonNull).count();
//循环保存到实体类字段中
for (int y = 0; y < count; y++) {
if (actOperation2s.get(i).getActOperation2()[x][y]!=null) {
......@@ -690,7 +706,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
}
}
//新增一条生成表数据
//新增一条生成表数据(全部)
actSuppliesCleaningRuleMapper.addInsertConvertAcc(actSuppliesImportTable);
if (actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("CodeColumn") - 1)] != null) {
......@@ -701,13 +717,15 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
actSuppliesImportCleaningAcc.setDepartmentColumn(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("DepartmentColumn") - 1)].getV());
actSuppliesImportCleaningAcc.setNumberColumn(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("NumberColumn") - 1)].getV());
actSuppliesImportCleaningAcc.setMoneyColumn(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("MoneyColumn") - 1)].getV());
actSuppliesImportCleaningAcc.setMoneyColumns(Double.toString(Double.parseDouble(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("MoneyColumn") - 1)].getV()) * Double.parseDouble(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("NumberColumn") - 1)].getV())));
BigDecimal moneyColumn1 = new BigDecimal(Double.parseDouble(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("MoneyColumn") - 1)].getV()));
BigDecimal moneyColumn2 = new BigDecimal(Double.parseDouble(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("NumberColumn") - 1)].getV()));
actSuppliesImportCleaningAcc.setMoneyColumns(Double.toString(moneyColumn1.multiply(moneyColumn2).doubleValue()));
Object dateColumn = parse.getJSONObject(0).get("DateColumn");
if(parse.getJSONObject(0).get("DateColumn").hashCode()>0){
actSuppliesImportCleaningAcc.setDateColumn(actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("DateColumn") - 1)].getV());
}
//actSuppliesImportCleaning.setDateColumn(actOperation2s.get(i).getActOperation2()[x][JSON.parseObject(actOperation2s.get(i).getHistoryRole()).getInteger("DateColumn")].getV());
//新增一条生成表数据
//新增一条生成表数据(筛选)
actSuppliesCleaningRuleMapper.addActSuppliesImportCleaningAcc(actSuppliesImportCleaningAcc);
}
}
......@@ -716,7 +734,11 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
break;
}
String codeColumn = actOperation2s.get(i).getActOperation2()[x][((int) parse.getJSONObject(0).get("CodeColumn") - 1)].getV();
}
//修改历史表中的数据状态(是否清洗)
actSuppliesHistorydataMapper.updateActSuppliesHistorydataStatusByIdAcc(actOperation2s.get(i).gethId());
......
......@@ -28,7 +28,6 @@ import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
* @date 2023-07-11
*/
@Service
public class ActSuppliesServiceImpl implements IActSuppliesService
{
@Autowired
......
......@@ -16,6 +16,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="numberColumn" column="number_column" />
<result property="moneyColumn" column="money_column" />
<result property="dateColumn" column="date_column" />
<result property="sOfExpenses" column="source_of_expenses" />
<result property="categories" column="categories" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
</resultMap>
......@@ -244,6 +246,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="moneyColumns != null">money_columns,</if>
<if test="moneyColumn != null">money_column,</if>
<if test="dateColumn != null">date_column,</if>
<if test="sOfExpenses != null">source_of_expenses,</if>
<if test="categories != null">categories,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
......@@ -259,6 +263,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="moneyColumns != null">#{moneyColumns},</if>
<if test="moneyColumn != null">#{moneyColumn},</if>
<if test="dateColumn != null">#{dateColumn},</if>
<if test="sOfExpenses != null">#{sOfExpenses},</if>
<if test="categories != null">#{categories},</if>
</trim>
</insert>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment