Commit 1cf01e70 authored by 刘_震's avatar 刘_震

code转一二级分类(代码修改)-添加费用来源

parent 137782ef
...@@ -16,5 +16,7 @@ public interface ActSuppliesMaterialMapper { ...@@ -16,5 +16,7 @@ public interface ActSuppliesMaterialMapper {
void delete(@Param("mineId") String mineId, @Param("dateColumn") String dateColumn); void delete(@Param("mineId") String mineId, @Param("dateColumn") String dateColumn);
List<ActSuppliesMaterialDetails> getInfo(@Param("mineId") String mineId, @Param("dateColumn")String dateColumn);
//void save(ActSuppliesMaterialInfo actSuppliesMaterialInfo); //void save(ActSuppliesMaterialInfo actSuppliesMaterialInfo);
} }
...@@ -50,4 +50,12 @@ ...@@ -50,4 +50,12 @@
where mine_id = #{mineId} and date_column = #{dateColumn} where mine_id = #{mineId} and date_column = #{dateColumn}
</delete> </delete>
<select id="getInfo" resultMap="ActSuppliesMaterialDetailsResult">
select name_column, code_column, department_column, number_column,
money_column, money, unit, model, mine_name,
mine_id, one_level, two_level, date_column, source_coloumn,spare
from act_supplies_material_info
where mine_id = #{mineId} and date_column = #{dateColumn}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -23,6 +23,17 @@ public class WagesConversionData { ...@@ -23,6 +23,17 @@ public class WagesConversionData {
private String mineId; private String mineId;
private Integer templateId;
public Integer getTemplateId() {
return templateId;
}
public void setTemplateId(Integer templateId) {
this.templateId = templateId;
}
public String getMineId() { public String getMineId() {
return mineId; return mineId;
} }
......
...@@ -14,6 +14,17 @@ public class WagesConversionDataVO { ...@@ -14,6 +14,17 @@ public class WagesConversionDataVO {
private String mineId; private String mineId;
private Integer templateId;
public Integer getTemplateId() {
return templateId;
}
public void setTemplateId(Integer templateId) {
this.templateId = templateId;
}
public String getMineId() { public String getMineId() {
return mineId; return mineId;
} }
......
...@@ -58,57 +58,62 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService { ...@@ -58,57 +58,62 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService {
ActSupplies actSupplies = asiccSuppliesMapper.selectByNum(); ActSupplies actSupplies = asiccSuppliesMapper.selectByNum();
//存放处理之后的code (asiccDAO中的Code) //存放处理之后的code (asiccDAO中的Code)
for (String code : asiccDAO.getCodes()) { for (String code : asiccDAO.getCodes()) {
Map<String, String> codeList = new HashMap<>(); Map<String,Object> map = new HashMap<>();
//存放基本生产原煤的一级、二级分类
Map<String,Object> codeList1 = new HashMap<>();
//存放基本生产洗煤的一级、二级分类
Map<String,Object> codeList2 = new HashMap<>();
//存放其他费用来源的一级、二级分类
Map<String,Object> codeList3 = new HashMap<>();
String kmCode = StringUtils.substring(code, 0, 6); String kmCode = StringUtils.substring(code, 0, 6);
if (codeMap.containsKey(kmCode)) { if (codeMap.containsKey(kmCode)) {
Object sid = codeMap.get(kmCode); get(voMap, suppliesMap, codeMap, code, map, codeList1, codeList2, codeList3, kmCode);
String finalLevel = suppliesMap.get(sid);
String[] part = finalLevel.split("_");
String oneLevel = part[0];
String twoLevel = part[1];
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
voMap.put(code, codeList);
} else { } else {
kmCode = StringUtils.substring(kmCode, 0, 4); kmCode = StringUtils.substring(kmCode, 0, 4);
if (codeMap.containsKey(kmCode)) { if (codeMap.containsKey(kmCode)) {
if (mineId.equals("011704") && kmCode.equals("6199")) { if (mineId.equals("011704") && kmCode.equals("6199")) {
codeList.put("一级分类", "其他材料"); codeList1.put("一级分类","其他材料");
codeList.put("二级分类", null); codeList1.put("二级分类","其他");
voMap.put(code, codeList); codeList2.put("一级分类","其他材料");
codeList2.put("二级分类","其他");
} else { } else {
Object sid = codeMap.get(kmCode); getId(suppliesMap, codeMap, codeList1, codeList2, kmCode);
String finalLevel = suppliesMap.get(sid);
String[] part = finalLevel.split("_");
String oneLevel = part[0];
String twoLevel = part[1];
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
voMap.put(code, codeList);
} }
codeList3.put("一级分类","其他材料");
codeList3.put("二级分类","其他");
map.put("基本生产原煤", codeList1);
map.put("基本生产洗煤", codeList2);
map.put("其他费用来源", codeList3);
voMap.put(code,map);
} else { } else {
kmCode = StringUtils.substring(kmCode, 0, 2); kmCode = StringUtils.substring(kmCode, 0, 2);
Range<String> range = Range.between("30", "36"); Range<String> range = Range.between("30", "36");
if (mineId.equals("011704") && range.contains(kmCode)) { if (mineId.equals("011704") && range.contains(kmCode)) {
codeList.put("一级分类", "配件"); codeList1.put("一级分类","配件");
codeList.put("二级分类", null); codeList1.put("二级分类","配件");
voMap.put(code, codeList); codeList2.put("一级分类","配件");
codeList2.put("二级分类","配件");
} else if (codeMap.containsKey(kmCode)) { } else if (codeMap.containsKey(kmCode)) {
Object sid = codeMap.get(kmCode); get(voMap, suppliesMap, codeMap, code, map, codeList1, codeList2, codeList3, kmCode);
String finalLevel = suppliesMap.get(sid);
String[] part = finalLevel.split("_");
String oneLevel = part[0];
String twoLevel = part[1];
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
voMap.put(code, codeList);
} else { } else {
//kmCode一律为10 //kmCode一律为10
String oneLevel = actSupplies.getSuppliesName(); String oneLevel = actSupplies.getSuppliesName();
codeList.put("一级分类", oneLevel); codeList1.put("一级分类",oneLevel);
codeList.put("二级分类", null); codeList1.put("二级分类",null);
voMap.put(code, codeList); if (oneLevel.equals("油脂")||oneLevel.equals("配件")) {
codeList2.put("一级分类",oneLevel);
codeList2.put("二级分类",null);
}else{
codeList2.put("一级分类","其他材料");
codeList2.put("二级分类","其他");
}
codeList3.put("一级分类","其他材料");
codeList3.put("二级分类","其他");
map.put("基本生产原煤", codeList1);
map.put("基本生产洗煤", codeList2);
map.put("其他费用来源", codeList3);
voMap.put(code,map);
} }
} }
} }
...@@ -122,48 +127,38 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService { ...@@ -122,48 +127,38 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService {
}); });
for (String code : asiccDAO.getCodes()) { for (String code : asiccDAO.getCodes()) {
boolean matched = false; boolean matched = false;
Map<String, String> codeList = new HashMap<>(); Map<String,Object> map = new HashMap<>();
//存放基本生产原煤的一级、二级分类
Map<String,Object> codeList1 = new HashMap<>();
//存放基本生产洗煤的一级、二级分类
Map<String,Object> codeList2 = new HashMap<>();
//存放其他费用来源的一级、二级分类
Map<String,Object> codeList3 = new HashMap<>();
for (ActSuppliesMaterialCode materialCode : materialCodeList) { for (ActSuppliesMaterialCode materialCode : materialCodeList) {
String kmCode = code; String kmCode = code;
String codeMin = materialCode.getCodeMin(); String codeMin = materialCode.getCodeMin();
String codeMax = materialCode.getCodeMax(); String codeMax = materialCode.getCodeMax();
Range<String> range = Range.between(codeMin, codeMax); Range<String> range = Range.between(codeMin, codeMax);
if (range.contains(kmCode)) { if (range.contains(kmCode)) {
String twoLevel = materialCode.getMaterialName(); getLevelInfo(voMap, suppliesMap, code, map, codeList1, codeList2, codeList3, materialCode);
String codeType = materialCode.getMaterialCodeType();
String oneLevel = suppliesMap.get(codeType);
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
matched = true; matched = true;
break; // 跳出内部循环 break; // 跳出内部循环
} else { } else {
kmCode = StringUtils.substring(kmCode, 0, 6); kmCode = StringUtils.substring(kmCode, 0, 6);
if (range.contains(kmCode)) { if (range.contains(kmCode)) {
String twoLevel = materialCode.getMaterialName(); getLevelInfo(voMap, suppliesMap, code, map, codeList1, codeList2, codeList3, materialCode);
String codeType = materialCode.getMaterialCodeType();
String oneLevel = suppliesMap.get(codeType);
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
matched = true; matched = true;
break; // 跳出内部循环 break; // 跳出内部循环
} else { } else {
kmCode = StringUtils.substring(kmCode, 0, 4); kmCode = StringUtils.substring(kmCode, 0, 4);
if (range.contains(kmCode)) { if (range.contains(kmCode)) {
String twoLevel = materialCode.getMaterialName(); getLevelInfo(voMap, suppliesMap, code, map, codeList1, codeList2, codeList3, materialCode);
String codeType = materialCode.getMaterialCodeType();
String oneLevel = suppliesMap.get(codeType);
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
matched = true; matched = true;
break; // 跳出内部循环 break; // 跳出内部循环
} else { } else {
kmCode = StringUtils.substring(kmCode, 0, 2); kmCode = StringUtils.substring(kmCode, 0, 2);
if (range.contains(kmCode)) { if (range.contains(kmCode)) {
String twoLevel = materialCode.getMaterialName(); getLevelInfo(voMap, suppliesMap, code, map, codeList1, codeList2, codeList3, materialCode);
String codeType = materialCode.getMaterialCodeType();
String oneLevel = suppliesMap.get(codeType);
codeList.put("一级分类", oneLevel);
codeList.put("二级分类", twoLevel);
matched = true; matched = true;
break; // 跳出内部循环 break; // 跳出内部循环
} }
...@@ -171,14 +166,84 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService { ...@@ -171,14 +166,84 @@ public class AsiccSuppliesServiceImpl implements AsiccSuppliesService {
} }
} }
} }
if (!matched) { if (!matched) {
codeList.put("一级分类", "其他材料"); codeList1.put("一级分类","其他材料");
codeList.put("二级分类", null); codeList1.put("二级分类","其他");
codeList2.put("一级分类","其他材料");
codeList2.put("二级分类","其他");
codeList3.put("一级分类","其他材料");
codeList3.put("二级分类","其他");
map.put("基本生产原煤", codeList1);
map.put("基本生产洗煤", codeList2);
map.put("其他费用来源", codeList3);
} }
voMap.put(code, codeList); voMap.put(code, map);
} }
} }
return voMap; return voMap;
} }
/**
* 返回各个费用来源对应的一级、二级分类(处理矿id存在的规则)
*/
private void getLevelInfo(Map<String, Object> voMap, Map<Object, String> suppliesMap,
String code, Map<String, Object> map,
Map<String,Object> codeList1, Map<String,Object> codeList2,
Map<String,Object> codeList3, ActSuppliesMaterialCode materialCode) {
String twoLevel = materialCode.getMaterialName();
String codeType = materialCode.getMaterialCodeType();
String oneLevel = suppliesMap.get(codeType);
codeList1.put("一级分类",oneLevel);
codeList1.put("二级分类",twoLevel);
if (oneLevel.equals("油脂及乳化液")||oneLevel.equals("配件")) {
codeList2.put("一级分类",oneLevel);
codeList2.put("二级分类",twoLevel);
}else{
codeList2.put("一级分类","其他材料");
codeList2.put("二级分类","其他");
}
codeList3.put("一级分类","其他材料");
codeList3.put("二级分类","其他");
map.put("基本生产原煤", codeList1);
map.put("基本生产洗煤", codeList2);
map.put("其他费用来源", codeList3);
voMap.put(code,map);
}
/**
* 返回各个费用来源对应的一级、二级分类(处理矿id不存在的规则)
*/
private void get(Map<String, Object> voMap, Map<Object, String> suppliesMap,
Map<String, Object> codeMap, String code, Map<String, Object> map,
Map<String,Object> codeList1, Map<String,Object> codeList2,
Map<String,Object> codeList3, String kmCode) {
getId(suppliesMap, codeMap, codeList1, codeList2, kmCode);
codeList3.put("一级分类","其他材料");
codeList3.put("二级分类","其他");
map.put("基本生产原煤", codeList1);
map.put("基本生产洗煤", codeList2);
map.put("其他费用来源", codeList3);
voMap.put(code,map);
}
/**
* 处理原煤和洗煤的一级和二级分类(处理矿id不存在)
*/
private void getId(Map<Object, String> suppliesMap, Map<String, Object> codeMap,
Map<String,Object> codeList1, Map<String,Object> codeList2, String kmCode) {
Object sid = codeMap.get(kmCode);
String finalLevel = suppliesMap.get(sid);
String[] part = finalLevel.split("_");
String oneLevel = part[0];
String twoLevel = part[1];
codeList1.put("一级分类",oneLevel);
codeList1.put("二级分类",twoLevel);
if (oneLevel.equals("油脂及乳化液")||oneLevel.equals("配件")) {
codeList2.put("一级分类",oneLevel);
codeList2.put("二级分类",twoLevel);
}else{
codeList2.put("一级分类","其他材料");
codeList2.put("二级分类","其他");
}
}
} }
...@@ -12,11 +12,12 @@ ...@@ -12,11 +12,12 @@
<result property="updateTime" column="update_date"/> <result property="updateTime" column="update_date"/>
<result property="yearMonth" column="wage_month"/> <result property="yearMonth" column="wage_month"/>
<result property="mineId" column="mine_id"/> <result property="mineId" column="mine_id"/>
<result property="templateId" column="template_id"/>
</resultMap> </resultMap>
<insert id="save"> <insert id="save">
insert into wages_conversion_data (json_data, if_generate_voucher, wage_month, value, mine_id) insert into wages_conversion_data (json_data, if_generate_voucher, wage_month, value, mine_id)
values (#{jsonData}, 0, #{yearMonth}, #{value},#{mineId}) values (#{jsonData}, 0, #{yearMonth}, #{value},#{mineId},#{templateId})
</insert> </insert>
<delete id="deleteFromConversionToDate"> <delete id="deleteFromConversionToDate">
delete delete
...@@ -33,7 +34,9 @@ ...@@ -33,7 +34,9 @@
</select> </select>
<select id="selectWagesConversionDataById" parameterType="integer" <select id="selectWagesConversionDataById" parameterType="integer"
resultMap="WagesConversionData"> resultMap="WagesConversionData">
select id, json_data, if_generate_voucher, wage_month, create_date, update_date select id, json_data, if_generate_voucher,
wage_month, create_date, update_date,mine_id,
template_id
from wages_conversion_data from wages_conversion_data
where id = #{id} where id = #{id}
</select> </select>
......
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