Commit eb2f3726 authored by github-lzz's avatar github-lzz

循环清洗,手动级联删除

parent 39305403
package com.ruoyi.system.controller; package com.ruoyi.system.controller;
import java.util.List;
import com.ruoyi.system.domain.ActOperation1;
import com.ruoyi.system.domain.ActSuppliesImportCleaningAcc;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.ActOperation1;
import com.ruoyi.system.domain.ActSuppliesHistorydata; import com.ruoyi.system.domain.ActSuppliesHistorydata;
import com.ruoyi.system.domain.ActSuppliesImportCleaningAcc;
import com.ruoyi.system.service.IActSuppliesHistorydataService; import com.ruoyi.system.service.IActSuppliesHistorydataService;
import com.ruoyi.common.utils.poi.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired;
import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 历史数据Controller * 历史数据Controller
......
...@@ -28,6 +28,8 @@ public interface ActSuppliesCleaningRuleMapper ...@@ -28,6 +28,8 @@ public interface ActSuppliesCleaningRuleMapper
int deleteActSuppliesImportCleaning(Long hId); int deleteActSuppliesImportCleaning(Long hId);
int deleteActSuppliesImportTableCopy(String hId);
void addInsertConvert1(ActSuppliesImportTable actSuppliesImportTable); void addInsertConvert1(ActSuppliesImportTable actSuppliesImportTable);
void addInsertConvert2(ActSuppliesImportTable actSuppliesImportTable); void addInsertConvert2(ActSuppliesImportTable actSuppliesImportTable);
......
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.ActSuppliesHistorydata; import com.ruoyi.system.domain.ActSuppliesHistorydata;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* 历史数据Mapper接口 * 历史数据Mapper接口
* *
...@@ -101,4 +102,8 @@ public interface ActSuppliesHistorydataMapper ...@@ -101,4 +102,8 @@ public interface ActSuppliesHistorydataMapper
List<ActSuppliesHistorydata> selectActSuppliesHistorydataCopyList(ActSuppliesHistorydata actSuppliesHistorydata); List<ActSuppliesHistorydata> selectActSuppliesHistorydataCopyList(ActSuppliesHistorydata actSuppliesHistorydata);
ActSuppliesHistorydata selectActSuppliesHistorydataCopyById(Long id); ActSuppliesHistorydata selectActSuppliesHistorydataCopyById(Long id);
public int deleteActSuppliesHistorycontentById(String importUuid);
public int deleteActSuppliesHistorycontentByIds(String[] importUuid);
} }
...@@ -8,11 +8,11 @@ import com.ruoyi.system.service.ActReadDataService; ...@@ -8,11 +8,11 @@ import com.ruoyi.system.service.ActReadDataService;
import com.ruoyi.system.service.impl.Conversion.LkSpecialMethod; import com.ruoyi.system.service.impl.Conversion.LkSpecialMethod;
import com.ruoyi.system.service.impl.Conversion.MineConver; import com.ruoyi.system.service.impl.Conversion.MineConver;
import com.ruoyi.system.service.impl.Conversion.OtherMethod; import com.ruoyi.system.service.impl.Conversion.OtherMethod;
import com.ruoyi.system.test.MapTo;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /**
...@@ -32,10 +32,7 @@ public class ActReadDataServiceImpl implements ActReadDataService { ...@@ -32,10 +32,7 @@ public class ActReadDataServiceImpl implements ActReadDataService {
@Override @Override
public AjaxResult read(String mineId) { public AjaxResult read(String mineId) {
// boolean b = MapTo.put("清洗", "0001");
// if (!b){
// return new AjaxResult(500, "不可重复点击");
// }
int i = 0; int i = 0;
while (true) { while (true) {
int count = actReadDataMapper.selectCleanToOne(mineId); int count = actReadDataMapper.selectCleanToOne(mineId);
...@@ -51,7 +48,7 @@ public class ActReadDataServiceImpl implements ActReadDataService { ...@@ -51,7 +48,7 @@ public class ActReadDataServiceImpl implements ActReadDataService {
return new AjaxResult(200, "清洗成功"); return new AjaxResult(200, "清洗成功");
} }
@Async("defaultThreadPoolExecutor") /*@Async("defaultThreadPoolExecutor")
void readToId(String mineId, int c) { void readToId(String mineId, int c) {
synchronized ("0") { synchronized ("0") {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
...@@ -80,5 +77,32 @@ public class ActReadDataServiceImpl implements ActReadDataService { ...@@ -80,5 +77,32 @@ public class ActReadDataServiceImpl implements ActReadDataService {
System.err.println(end - start); System.err.println(end - start);
System.err.println("本次清洗了:" + list.size() + "条数据"); System.err.println("本次清洗了:" + list.size() + "条数据");
} }
}*/
void readToId(String mineId, int c) {
long start = System.currentTimeMillis();
System.err.println("查询" + c + "条时间为:" + (System.currentTimeMillis() - start));
Map<String, String> materialMap = new HashMap<>();
List<ActHistoryRoleTypeCodeModel> listMaterial = actReadDataMapper.selectMaterialCode();
for (ActHistoryRoleTypeCodeModel model : listMaterial) {
materialMap.putIfAbsent(model.getKey(), model.getValue());
}
MineConver mineConver;
if (mineId.equals(LK)) {
mineConver = new MineConver(new LkSpecialMethod(actReadDataMapper));
} else {
mineConver = new MineConver(new OtherMethod(actReadDataMapper));
}
List<ActReadHistoryModel> list = actReadDataMapper.readDateToHistory(mineId, 1);
mineConver.clean(list.get(0), materialMap);
// for (ActReadHistoryModel actReadHistoryModel : list) {
// mineConver.clean(actReadHistoryModel, materialMap);
// }
long end = System.currentTimeMillis();
System.err.println(end - start);
System.err.println("本次清洗了:" + list.size() + "条数据");
} }
} }
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
...@@ -13,13 +9,17 @@ import com.ruoyi.common.utils.StringUtils; ...@@ -13,13 +9,17 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.*;
import com.ruoyi.system.mapper.ActSuppliesCleaningRuleMapper; import com.ruoyi.system.mapper.ActSuppliesCleaningRuleMapper;
import com.ruoyi.system.mapper.ActSuppliesDetailsMapper; import com.ruoyi.system.mapper.ActSuppliesDetailsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.ActSuppliesHistorydataMapper; import com.ruoyi.system.mapper.ActSuppliesHistorydataMapper;
import com.ruoyi.system.service.IActSuppliesHistorydataService; import com.ruoyi.system.service.IActSuppliesHistorydataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
/** /**
* 历史数据Service业务层处理 * 历史数据Service业务层处理
* *
...@@ -38,6 +38,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat ...@@ -38,6 +38,7 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
@Autowired @Autowired
private ActSuppliesDetailsMapper actSuppliesDetailsMapper; private ActSuppliesDetailsMapper actSuppliesDetailsMapper;
/** /**
* 查询 历史数据 * 查询 历史数据
* *
...@@ -101,8 +102,22 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat ...@@ -101,8 +102,22 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int deleteActSuppliesHistorydataByIds(Long[] ids) { public int deleteActSuppliesHistorydataByIds(Long[] ids) {
return actSuppliesHistorydataMapper.deleteActSuppliesHistorydataByIds(ids);
int i = 0;
for (Long id : ids) {
ActSuppliesHistorydata actSuppliesHistorydata = actSuppliesHistorydataMapper.selectActSuppliesHistorydataCopyById(id);
//删除历史表
i = actSuppliesHistorydataMapper.deleteActSuppliesHistorydataById(id);
//删除
int i1 = actSuppliesHistorydataMapper.deleteActSuppliesHistorycontentById(actSuppliesHistorydata.getImportUuid());
//删除清洗表
int i2 = actSuppliesCleaningRuleMapper.deleteActSuppliesImportTableCopy(actSuppliesHistorydata.getImportUuid());
i=i+i1;
i=i+i2;
}
return i;
} }
/** /**
...@@ -112,8 +127,18 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat ...@@ -112,8 +127,18 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int deleteActSuppliesHistorydataById(Long id) { public int deleteActSuppliesHistorydataById(Long id) {
return actSuppliesHistorydataMapper.deleteActSuppliesHistorydataById(id); ActSuppliesHistorydata actSuppliesHistorydata = actSuppliesHistorydataMapper.selectActSuppliesHistorydataCopyById(id);
//删除历史表
int i = actSuppliesHistorydataMapper.deleteActSuppliesHistorydataById(id);
//删除
int i1 = actSuppliesHistorydataMapper.deleteActSuppliesHistorycontentById(actSuppliesHistorydata.getImportUuid());
//删除清洗表
int i2 = actSuppliesCleaningRuleMapper.deleteActSuppliesImportTableCopy(actSuppliesHistorydata.getImportUuid());
i=i+i1;
i=i+i2;
return i;
} }
/** /**
...@@ -806,19 +831,66 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat ...@@ -806,19 +831,66 @@ public class ActSuppliesHistorydataServiceImpl implements IActSuppliesHistorydat
} }
@Override @Override
@Transactional
public void addInsertActSuppliesHistorydataAcc(List<ActSuppliesHistorydata> actSuppliesHistorydata) { public void addInsertActSuppliesHistorydataAcc(List<ActSuppliesHistorydata> actSuppliesHistorydata) {
// //最大值
// int maxnum = 0;
// //判断所属矿是否为唐山矿
// if ("010101".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为林西矿
// if ("011704".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为东欢坨矿
// if ("010102".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为单矿
// if ("011204".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为吕矿
// if ("011702".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为范各庄矿
// if ("011701".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为红矿
// if ("011502".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
// //判断所属矿是否为钱家营矿
// if ("010105".equalsIgnoreCase(mining)) {
// maxnum = 1;
// }
//新增前删除关联三个表
// ActSuppliesHistorydata ashd = actSuppliesHistorydata.get(0);
// //获取所属矿ID
// String mining = ashd.getMining();
// ActSuppliesHistorydata actSuppliesHistorydata2 = new ActSuppliesHistorydata();
// actSuppliesHistorydata2.setMining(mining);
// actSuppliesHistorydata2.setDate(ashd.getDate());
// List<ActSuppliesHistorydata> list = actSuppliesHistorydataMapper.selectActSuppliesHistorydataCopyList(actSuppliesHistorydata2);
// for (ActSuppliesHistorydata suppliesHistorydata : list) {
// //删除历史表
// actSuppliesHistorydataMapper.deleteActSuppliesHistorydataById(suppliesHistorydata.getId());
// //删除
// actSuppliesHistorydataMapper.deleteActSuppliesHistorycontentById(suppliesHistorydata.getImportUuid());
// //删除清洗表
// actSuppliesCleaningRuleMapper.deleteActSuppliesImportTableCopy(suppliesHistorydata.getImportUuid());
// }
//新增
SysUser user = SecurityUtils.getLoginUser().getUser(); SysUser user = SecurityUtils.getLoginUser().getUser();
ActSuppliesHistorydata actSuppliesHistorydata1 = new ActSuppliesHistorydata(); ActSuppliesHistorydata actSuppliesHistorydata1 = new ActSuppliesHistorydata();
for (int i = 0; i < actSuppliesHistorydata.size(); i++) { for (int i = 0; i < actSuppliesHistorydata.size(); i++) {
UUID uuid = UUID.randomUUID(); UUID uuid = UUID.randomUUID();
String uuids = StringUtils.remove(uuid.toString(), '-'); String uuids = StringUtils.remove(uuid.toString(), '-');
if (actSuppliesHistorydata.get(i).getIdentifyingCode() == 0) { if (actSuppliesHistorydata.get(i).getIdentifyingCode() == 0) {
actSuppliesHistorydata1 = actSuppliesHistorydata.get(i); actSuppliesHistorydata1 = actSuppliesHistorydata.get(i);
actSuppliesHistorydata1.setImportUuid(uuids); actSuppliesHistorydata1.setImportUuid(uuids);
actSuppliesHistorydata1.setStatus(0L); actSuppliesHistorydata1.setStatus(0L);
......
...@@ -14,7 +14,6 @@ import com.ruoyi.system.model.voucher.VoucherBody; ...@@ -14,7 +14,6 @@ import com.ruoyi.system.model.voucher.VoucherBody;
import com.ruoyi.system.model.voucher.VoucherImportModel; import com.ruoyi.system.model.voucher.VoucherImportModel;
import com.ruoyi.system.service.VoucherQueryService; import com.ruoyi.system.service.VoucherQueryService;
import com.ruoyi.system.support.VoucherQuerySupport; import com.ruoyi.system.support.VoucherQuerySupport;
import com.ruoyi.system.yyinterface.VoucherUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -44,7 +43,8 @@ public class VoucherQueryServiceImpl implements VoucherQueryService { ...@@ -44,7 +43,8 @@ public class VoucherQueryServiceImpl implements VoucherQueryService {
public ApiResult save(VoucherQueryRequestModel voucherQueryRequestModel) { public ApiResult save(VoucherQueryRequestModel voucherQueryRequestModel) {
StopWatch stopWatch = new StopWatch(); StopWatch stopWatch = new StopWatch();
stopWatch.start(); stopWatch.start();
ReturnResult result = VoucherUtils.callVoucherQuery(voucherQueryRequestModel, ApiConstant.VOUCHER_LIST_QUERY); ReturnResult result = new ReturnResult();
//ReturnResult result = VoucherUtils.callVoucherQuery(voucherQueryRequestModel, ApiConstant.VOUCHER_LIST_QUERY);
JSONArray jsonArray = JSON.parseArray(result.getData().toString()); JSONArray jsonArray = JSON.parseArray(result.getData().toString());
List<VoucherQueryResponseModel> voucherQueryResponseModelList = jsonArray.toJavaList(VoucherQueryResponseModel.class); List<VoucherQueryResponseModel> voucherQueryResponseModelList = jsonArray.toJavaList(VoucherQueryResponseModel.class);
//凭证头 //凭证头
......
...@@ -649,6 +649,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -649,6 +649,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from act_supplies_import_table where h_id = #{id} delete from act_supplies_import_table where h_id = #{id}
</delete> </delete>
<delete id="deleteActSuppliesImportTableCopy" parameterType="String">
delete from act_supplies_import_cleaning_copy1 where yy_uuid = #{importUuid}
</delete>
<insert id="addInsertConvertAcc" parameterType="ActSuppliesImportTable" useGeneratedKeys="true" keyProperty="id"> <insert id="addInsertConvertAcc" parameterType="ActSuppliesImportTable" useGeneratedKeys="true" keyProperty="id">
insert into act_supplies_import_table_copy1 insert into act_supplies_import_table_copy1
......
...@@ -57,6 +57,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -57,6 +57,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="historyName != null and historyName != ''"> and history_name like concat('%', #{historyName}, '%')</if> <if test="historyName != null and historyName != ''"> and history_name like concat('%', #{historyName}, '%')</if>
<if test="identifyingCode != null "> and identifying_code = #{identifyingCode}</if> <if test="identifyingCode != null "> and identifying_code = #{identifyingCode}</if>
<if test="status != null "> and status = #{status}</if> <if test="status != null "> and status = #{status}</if>
<if test="mining != null "> and ssk_id = #{mining}</if>
<if test="date != null "> and date = #{date}</if>
</where> </where>
</select> </select>
...@@ -198,12 +200,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -198,12 +200,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</update> </update>
<delete id="deleteActSuppliesHistorycontentById" parameterType="String">
delete from act_supplies_historycontent_copy1 where hid = #{importUuid}
</delete>
<delete id="deleteActSuppliesHistorydataById" parameterType="Long"> <delete id="deleteActSuppliesHistorydataById" parameterType="Long">
delete from act_supplies_historydata where id = #{id} delete from act_supplies_historydata_copy1 where id = #{id}
</delete> </delete>
<delete id="deleteActSuppliesHistorydataByIds" parameterType="String"> <delete id="deleteActSuppliesHistorydataByIds" parameterType="Long">
delete from act_supplies_historydata where id in delete from act_supplies_historydata_copy1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
......
...@@ -446,7 +446,7 @@ export default { ...@@ -446,7 +446,7 @@ export default {
}); });
} }
}, },
//转换方法 //转换方法
zhuan(file) { zhuan(file) {
let cc = ''; let cc = '';
const transformPromise = new Promise((resolve, reject) => { const transformPromise = new Promise((resolve, reject) => {
...@@ -585,7 +585,7 @@ export default { ...@@ -585,7 +585,7 @@ export default {
}); });
}, },
//成本表往凭证但转 //成本表往凭证但转
Vouchers(duplicateData) { Vouchers(duplicateData) {
let sum = [{ let sum = [{
code: '2241005', code: '2241005',
...@@ -969,7 +969,7 @@ export default { ...@@ -969,7 +969,7 @@ export default {
handleExport: debounce(function () { handleExport: debounce(function () {
// 处理点击事件 // 处理点击事件
exportExcel(luckysheet.getAllSheets(), fileName, trueORfalse, this.value); exportExcel(luckysheet.getAllSheets(), fileName, trueORfalse, this.value);
// 清洗数据 // 清洗数据
let mine={ let mine={
tylkStatus:3, tylkStatus:3,
...@@ -1046,4 +1046,4 @@ function generateUUID() { ...@@ -1046,4 +1046,4 @@ function generateUUID() {
let array = new Uint32Array(4); let array = new Uint32Array(4);
window.crypto.getRandomValues(array); window.crypto.getRandomValues(array);
return array.join("-"); return array.join("-");
} }
\ No newline at end of file
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