dengyj 4 år sedan
förälder
incheckning
b292376f26

+ 23 - 5
src/main/java/com/steerinfo/filter/SecurityFilter.java

@@ -78,14 +78,25 @@ public class SecurityFilter implements Filter {
         verificationCode1 = verificationCode1.toLowerCase(Locale.ROOT);
         //生成原数据
         SimpleDateFormat df = new SimpleDateFormat("MM-yyyy-dd");
-        StringBuffer date = new StringBuffer(df.format(new Date()));
-        date = date.insert(2,"jisco");
+        Date date = new Date();
+        Date date1 = this.dateAdd(date, -1);
+        Date date2 = this.dateAdd(date, 1);
+
+        StringBuffer dateStr = new StringBuffer(df.format(date));
+        StringBuffer dateStr1 = new StringBuffer(df.format(date));
+        StringBuffer dateStr2 = new StringBuffer(df.format(date));
+
+        dateStr = dateStr.insert(2,"jisco");
+        dateStr1 = dateStr1.insert(2,"jisco");
+        dateStr2 = dateStr2.insert(2,"jisco");
 
         //原数据MD5加密
-        String verificationCode2 = DigestUtils.md5DigestAsHex(date.toString().getBytes(StandardCharsets.UTF_8)).toLowerCase(Locale.ROOT);
+        String verCode = DigestUtils.md5DigestAsHex(dateStr.toString().getBytes(StandardCharsets.UTF_8)).toLowerCase(Locale.ROOT);
+        String verCode1 = DigestUtils.md5DigestAsHex(dateStr1.toString().getBytes(StandardCharsets.UTF_8)).toLowerCase(Locale.ROOT);
+        String verCode2 = DigestUtils.md5DigestAsHex(dateStr2.toString().getBytes(StandardCharsets.UTF_8)).toLowerCase(Locale.ROOT);
 
         //比对
-        if (verificationCode2.equals(verificationCode1)){//比对成功
+        if (verCode.equals(verificationCode1) || verCode1.equals(verificationCode1) || verCode2.equals(verificationCode1)){//比对成功
             filterChain.doFilter(servletRequest,servletResponse);
         }else {//比对失败
             response.setContentType("application/json;charset=UTF-8");
@@ -102,7 +113,14 @@ public class SecurityFilter implements Filter {
 
     }
 
-
+    /*日期加+n天*/
+    public static Date dateAdd(Date date, Integer addnum) {
+        Calendar   calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, addnum); //把日期往后增加一天,整数  往后推,负数往前移动
+        date=calendar.getTime(); //这个时间就是日期往后推一天的结果
+        return date;
+    }
 
     /**
      * 获取Json数据

+ 14 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/controller/MeterWorkCarActualFirstController.java

@@ -1172,6 +1172,20 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value = "应急计量-两个一次数据编号结净")
+    @Transactional
+    @PostMapping(value = "/doNetEmergency", produces = "application/json;charset=UTF-8")
+    public RESTfulResult doNetEmergency(@RequestBody MeterWorkCarActual model) {
+        try {
+            RESTfulResult rm = meterWorkCarActualFirstService.doNetEmergency(model);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
     @ApiOperation(value = "多毛一皮结净")
     @Transactional
     @PostMapping(value = "/doNetAddMuch", produces = "application/json;charset=UTF-8")

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/IMeterWorkCarActualFirstService.java

@@ -129,6 +129,7 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
 
     RESTfulResult addEmergency(List<MeterWorkCarActualFirst> meterWorkCarActualFirsts)  throws Exception;
     RESTfulResult addFirstEmergency(MeterWorkCarActualFirst meterWorkCarActualFirsts)  throws Exception;
+    RESTfulResult doNetEmergency(MeterWorkCarActual meterWorkCarActual)  throws Exception;
 
     PageList<MeterWorkCarActualFirst> likeByDesc(Map<String, Object> var1, Integer pageNum, Integer pageSize);
     PageList<MeterWorkCarActualFirst> ApplikeByDesc(Map<String, Object> var1, Integer pageNum, Integer pageSize);

+ 66 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -61,6 +61,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
@@ -4064,6 +4066,70 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         }
     }
 
+    @Override
+    public RESTfulResult doNetEmergency(MeterWorkCarActual model) throws Exception {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            Assert.isTrue(!Objects.isNull(model), "结净数据不能为空");
+            Assert.isTrue(!(model.getActualFirst1No() == null || model.getActualFirst2No()==null
+                    || StringUtils.isEmpty(model.getActualFirst1No()) || StringUtils.isEmpty(model.getActualFirst2No())), "一次数据编号不能为空");
+            MeterWorkCarActualFirst firstTemp = meterWorkCarActualFirstMapper.selectByPrimaryKey(model.getActualFirst1No());
+            MeterWorkCarActualFirst secondTemp = meterWorkCarActualFirstMapper.selectByPrimaryKey(model.getActualFirst2No());
+            Assert.isTrue(!(Objects.isNull(firstTemp) || Objects.isNull(secondTemp)), "一次数据未查到有效的数据");
+
+            MeterWorkCarActual actualModel = new MeterWorkCarActual();
+            BigDecimal meterWeight;
+            if(firstTemp.getMeterWeight().compareTo(secondTemp.getMeterWeight()) > 0) {
+                MeterWorkCarActual mwca = meterWorkCarActualMapper.manualAdd(firstTemp.getActualFirstNo(), secondTemp.getActualFirstNo());
+                BeanUtils.copyProperties(mwca, actualModel);
+                firstTemp.setWeightType("0");
+                secondTemp.setWeightType("1");
+                meterWeight = firstTemp.getMeterWeight().subtract(secondTemp.getMeterWeight());
+            }else {
+                MeterWorkCarActual mwca = meterWorkCarActualMapper.manualAdd(secondTemp.getActualFirstNo(), firstTemp.getActualFirstNo());
+                BeanUtils.copyProperties(mwca, actualModel);
+                firstTemp.setWeightType("1");
+                secondTemp.setWeightType("0");
+                meterWeight = secondTemp.getMeterWeight().subtract(firstTemp.getMeterWeight());
+            }
+            firstTemp.setValueFlag(DbConstants.NET);
+            firstTemp.setUpdateManName("system");
+            firstTemp.setUpdateManName("紧急洁净更新");
+            firstTemp.setUpdateTime(new Date());
+            firstTemp.setIsPreScale("0");
+            meterWorkCarActualFirstMapper.updateByPrimaryKey(firstTemp);
+            //更新第一次皮重数据库
+            secondTemp.setValueFlag(DbConstants.NET);
+            secondTemp.setUpdateManName("system");
+            secondTemp.setUpdateManName("紧急洁净更新");
+            secondTemp.setUpdateTime(new Date());
+            secondTemp.setIsPreScale("0");
+            meterWorkCarActualFirstMapper.updateByPrimaryKey(secondTemp);
+
+            String no = PublicMethod.IdCreate(3);
+            actualModel.setActualNo(no);
+            actualModel.setNetTime(new Date());
+            actualModel.setNetMode("1");
+            actualModel.setNote("紧急洁净保存");
+            actualModel.setUploadFlag("1");
+            actualModel.setIsPreScale("0");
+            actualModel.setValueFlag("1");
+            actualModel.setNetWeight(meterWeight);
+            actualModel.setCreateTime(new Date());
+            meterWorkCarActualMapper.insertSelective(actualModel);
+
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功");
+            rm.setData(actualModel.getActualNo());
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public PageList<MeterWorkCarActualFirst> likeByDesc(Map<String, Object> params, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);