|
@@ -37,6 +37,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.net.URLEncoder;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
@@ -60,6 +61,8 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
|
|
|
private BaseAnimalMapper animalMapper;
|
|
|
@Autowired
|
|
|
private AreaAllMapper areaAllMapper;
|
|
|
+ @Resource
|
|
|
+ private BillSubsidyModifyMapper billSubsidyModifyMapper;
|
|
|
|
|
|
@Override
|
|
|
public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
@@ -935,5 +938,57 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
|
|
|
return new Result(ResultCode.SUCCESS, subsidyList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = RuntimeException.class)
|
|
|
+ public Result editSubsidy(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
|
+ String id = paramsMap.get("id");
|
|
|
+ String afterRewardNum = paramsMap.get("afterRewardNum");
|
|
|
+ String afterEartagNo = paramsMap.get("afterEartagNo");
|
|
|
+ String afterApplyMoney = paramsMap.get("afterApplyMoney");
|
|
|
+
|
|
|
+ BillSubsidy billSubsidy = subsidyMapper.selectById(id);
|
|
|
+ String[] beforeSplit = billSubsidy.getEartagNo().split(",");
|
|
|
+ String[] afterSplit = afterEartagNo.split(",");
|
|
|
+ if (afterSplit.length != Integer.parseInt(afterRewardNum)){
|
|
|
+ return new Result(10001,"奖补数量与实际耳标号数量不符",false);
|
|
|
+ }
|
|
|
+ List<String> afterList = Arrays.asList(afterSplit);
|
|
|
+ List<String> beforeList = Arrays.asList(beforeSplit);
|
|
|
+
|
|
|
+ List<String> result = new ArrayList<>(beforeList);
|
|
|
+ result.removeAll(afterList);
|
|
|
+ ArrayList<String> eartags = new ArrayList<>();
|
|
|
+ for (String s : result) {
|
|
|
+ eartags.add(s);
|
|
|
+ }
|
|
|
+ List<BaseAnimal> baseAnimals = baseAnimalMapper.selectList(new QueryWrapper<BaseAnimal>().in("earatg_no", eartags));
|
|
|
+ for (BaseAnimal baseAnimal : baseAnimals) {
|
|
|
+ baseAnimal.setAnimalStatus(4);
|
|
|
+ if (baseAnimalMapper.updateById(baseAnimal) != 1) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return new Result(10001,"耳标号"+baseAnimal.getEaratgNo()+"修改失败",false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ BillSubsidyModify billSubsidyModify = new BillSubsidyModify();
|
|
|
+ billSubsidyModify.setSubsidyId(id);
|
|
|
+ billSubsidyModify.setUpdateUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
|
|
|
+ billSubsidyModify.setUpdateTime(new Date());
|
|
|
+ billSubsidyModify.setUpdateUserName(TokenSign.getUserName(httpServletRequest));
|
|
|
+ billSubsidyModify.setBeforeApplyMoney(billSubsidy.getApplyMoney());
|
|
|
+ billSubsidyModify.setBeforeEartagNo(billSubsidy.getEartagNo());
|
|
|
+ billSubsidyModify.setBeforeRewardNum(billSubsidy.getRewardNum());
|
|
|
+ billSubsidyModify.setAfterApplyMoney(new BigDecimal(afterApplyMoney));
|
|
|
+ billSubsidyModify.setAfterEartagNo(afterEartagNo);
|
|
|
+ billSubsidyModify.setAfterRewardNum(Integer.parseInt(afterRewardNum));
|
|
|
+ billSubsidyModifyMapper.insert(billSubsidyModify);
|
|
|
+
|
|
|
+ billSubsidy.setRewardNum(Integer.parseInt(afterRewardNum));
|
|
|
+ billSubsidy.setEartagNo(afterEartagNo);
|
|
|
+ billSubsidy.setApplyMoney(new BigDecimal(afterApplyMoney));
|
|
|
+ subsidyMapper.updateById(billSubsidy);
|
|
|
+ return Result.SUCCESS();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|