dengyj %!s(int64=4) %!d(string=hai) anos
pai
achega
a41fbe2933

+ 10 - 1
src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java

@@ -729,6 +729,15 @@ public class MeterBaseCarController extends BaseRESTfulController {
                     // sso注册成功时,增加车辆表
                     MeterBaseCar car = new MeterBaseCar();
                     // 将车辆类型,载重信息加入实体
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("unitNo", params.get("usetDepartment"));
+                    List<MeterBaseSpecialUnit> specialUnit = meterBaseSpecialUnitMapper.selectByParameters(obj);
+                    if(specialUnit.size() >= 1) {
+                        car.setUsetDepartmentNo(specialUnit.get(0).getUnitNo());
+                        car.setUsetDepartment(specialUnit.get(0).getUnitName());
+                    }else{
+                        msg = "特殊单位表未找到相应的单位";
+                    }
                     car.setCarNo(params.get("carNo").toString());
                     car.setCarTypeNo(params.get("carTypeNo").toString());
                     car.setCarTypeName(params.get("carTypeName").toString());
@@ -782,7 +791,7 @@ public class MeterBaseCarController extends BaseRESTfulController {
             obj.put("carId", params.get("carNo").toString());
             meterBaseDriverMapper.updateValidFlagByCarId(obj);
             if (StringUtils.isNotEmpty(msg)) {
-                rm.setMessage("重置密码失败,请确认!!");
+                rm.setMessage("重置密码失败,请确认!!>>>" + msg);
                 return rm;
             }
         } catch (Exception e) {

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

@@ -98,6 +98,23 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value = "获取列表", notes = "分页模糊查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("meterworkcaractualfirst:view")
+    @GetMapping(value = "/likeByDesc/")
+    public RESTfulResult like(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
+        try {
+            PageList<MeterWorkCarActualFirst> list = meterWorkCarActualFirstService.likeByDesc(parmas, pageNum, pageSize);
+            return success(list);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
     @ApiOperation(value = "获取列表", notes = "分页模糊查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),

+ 4 - 4
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.xml

@@ -2845,11 +2845,11 @@
     <include refid="whereLike"/>
     <!--App特殊条件查询,查询不能为作废、已洁净数据-->
     <if test="flag != null and flag != ''">
-       and value_flag in ('1', '3')
+       and (value_flag in ('1', '3')
        or (
             value_flag = '2'
             and (is_pre_scale = '0' or is_pre_scale is null)
-          )
+          ))
     </if>
     order by create_time desc
   </select>
@@ -2859,8 +2859,8 @@
     <include refid="whereLike"/>
     <!--已洁净且未匹配委托-->
     <if test="flag != null and flag != ''">
-      and value_flag = '2'
-      and (is_pre_scale = '0' or is_pre_scale is null)
+      and (value_flag = '2'
+      and (is_pre_scale = '0' or is_pre_scale is null))
     </if>
     order by create_time desc
   </select>

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

@@ -3447,7 +3447,7 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             MeterWorkCarActual actualRow1 = new MeterWorkCarActual();
             MeterWorkCarActual actualRow2 = new MeterWorkCarActual();
 
-            BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight()).abs();
+            BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight());
             //判断一次数据和委托信息是否存存在
             if(mwcaf01 == null || mwcaf03 == null ){
                 rm.setMessage("未找到相应的一次计量信息,请确认!!");

+ 13 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/controller/MeterWorkRailwayActFirstController.java

@@ -724,6 +724,19 @@ throw new MarkerMetException(500, "操作异常!!");
         return rm;
     }
 
+    @ApiOperation(value = "C#端轨道衡实绩静轨需标志皮重洁净", notes = "根据MeterWorkStorageActual对象创建")
+    @PostMapping(value = "/doIdentifyWeight")
+    public RESTfulResult doIdentifyWeight(@RequestBody MeterWorkRailwayActFirst model) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActFirstService.doIdentifyWeight(model);
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!!!>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     @ApiOperation(value = "C#端轨道衡实绩静轨洁净--两条数据", notes = "根据两个MeterWorkStorageActual对象创建")
     @PostMapping(value = "/doAddWfStaticTwo")
     public RESTfulResult doAddWfStaticTwo(@RequestBody CommonCombination<PreRailwayScale, MeterWorkRailwayActFirst, MeterWorkRailwayActFirst, MeterWorkRailwayActFirst> com) {

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/IMeterWorkRailwayActFirstService.java

@@ -114,5 +114,7 @@ public interface IMeterWorkRailwayActFirstService extends IBaseService<MeterWork
 
     RESTfulResult selfServiceMeasurement(MeterWorkRailwayActFirst first);
     RESTfulResult batchUpdateLcNo(List<MeterWorkRailwayActFirst> models);
+
+    RESTfulResult doIdentifyWeight(MeterWorkRailwayActFirst model);
 }
 

+ 153 - 2
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -44,6 +44,7 @@ import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
 import com.steerinfo.util.FieldsCollector;
 import com.steerinfo.util.StringUtils;
 import io.micrometer.core.instrument.Meter;
+import org.apache.poi.hssf.record.ArrayRecord;
 import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Bean;
@@ -1585,7 +1586,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
             MeterWorkRailwayActual actualRow1 = new MeterWorkRailwayActual();
             MeterWorkRailwayActual actualRow2 = new MeterWorkRailwayActual();
             //获取两个一次重量的差值
-            BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight()).abs();
+            BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight());
             if(mwcaf01 == null || mwcaf03 == null ){
                 return "未找到相应的一次计量信息,请确认!!";
             }
@@ -3594,7 +3595,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
             netRail.setNetClass(two.getMeterClass());
             netRail.setNetGroup(two.getMeterGroup());
         }
-        netRail.setNetWeight(one.getMeterBalanceWeight().subtract(two.getMeterBalanceWeight()));
+        netRail.setNetWeight(one.getMeterWeight().subtract(two.getMeterWeight()));
         netRail.setNetMode("1");
         netRail.setValueFlag("1");
         netRail.setUploadFlag("1");
@@ -4363,6 +4364,156 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+    @Override
+    public RESTfulResult doIdentifyWeight(MeterWorkRailwayActFirst model) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+
+        try {
+            HashMap<String, Object> map = new HashMap<>();
+            List<MeterWorkRailwayActFirst> firsts = new ArrayList<>();
+            List<MeterWorkRailwayActual> actuals = new ArrayList<>();
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            String afl = sdf.format(new Date());
+            //一次毛重数据
+            MeterWorkRailwayActFirst grossModel = model;
+            model.setActualFirstNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
+            //标识皮重保存
+            MeterWorkRailwayActFirst tareModel = model;
+            tareModel.setPredictionNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
+            tareModel.setMeterWeight(model.getRailwayFactoryWeight());
+
+            meterWorkRailwayActFirstMapper.insertSelective(grossModel);
+            meterWorkRailwayActFirstMapper.insertSelective(tareModel);
+
+            MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+            if(StringUtils.isNotEmpty(model.getPredictionNo())) {
+                PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
+                //毛重一次
+                MeterWorkRailwayActFirst model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
+                //皮重一次
+                MeterWorkRailwayActFirst model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
+
+                //修改委托状态
+                if(scale != null) {
+                    //委托信息是否为有效数据
+                    if(scale.getValueFlag().equals("2") || scale.getValueFlag().equals("3")){
+                        rm.setMessage("委托信息已使用或者已作废!!");
+                        return rm;
+                    }
+
+                    //将委托中的编号和收发货的等数据拷贝进一次数据中
+                    MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale.getPredictionNo());
+                    BeanUtils.copyProperties(first1, model01);
+                    MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale.getPredictionNo());
+                    BeanUtils.copyProperties(first2, model02);
+
+                    //修改委托编号
+                    scale.setValueFlag(DbConstants.NET);
+                    scale.setUpdateTime(new Date());
+                    scale.setUpdateManNo("system");
+                    scale.setUpdateManName("标志皮洁净更新");
+                    scale.setUploadFlag("1");
+                    scale.setPredictionType("1");
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+
+                    //修改毛重一次数据状态
+                    model01.setValueFlag(DbConstants.NET);
+                    model01.setUpdateManName("system");
+                    model01.setUpdateManName("标志皮洁净更新");
+                    model01.setUpdateTime(new Date());
+                    model01.setWeightType("0");
+                    model01.setIsPreSacale("1");
+                    model01.setPredictionNo(scale.getPredictionNo());
+                    model01.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model01);
+                    //修改皮重一次数据状态
+                    model02.setValueFlag(DbConstants.NET);
+                    model02.setUpdateManName("system");
+                    model02.setUpdateManName("标志皮洁净更新");
+                    model02.setUpdateTime(new Date());
+                    model02.setWeightType("1");
+                    model02.setIsPreSacale("1");
+                    model02.setPredictionNo(scale.getPredictionNo());
+                    model02.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model02);
+
+                    MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(model01.getActualFirstNo(), model02.getActualFirstNo(), scale.getPredictionNo());
+                    BeanUtils.copyProperties(mwca1, actualRow);
+                    //保存洁净
+                    String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
+                    actualRow.setActualNo(sdf.format(new Date()) + no);
+                    actualRow.setNetTime(new Date());
+                    actualRow.setNetMode(DbConstants.TYPE);
+                    actualRow.setNote("标志皮匹配洁净");
+                    actualRow.setNetMode("1");
+                    actualRow.setUploadFlag("1");
+                    actualRow.setValueFlag("1");
+                    actualRow.setIsPreSacale("1");
+                    actualRow.setPredictionNo(scale.getPredictionNo());
+                    actualRow.setPredictionType("1");
+                    actualRow.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
+                    meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                    firsts.add(model01);
+                }else {
+                    rm.setMessage("委托信息表未查询到委托信息!!");
+                    return rm;
+                }
+            }else {
+                //修改毛重一次数据状态
+                grossModel.setValueFlag(DbConstants.NET);
+                grossModel.setUpdateManName("system");
+                grossModel.setUpdateManName("标志皮洁净更新");
+                grossModel.setUpdateTime(new Date());
+                grossModel.setWeightType("0");
+                grossModel.setIsPreSacale("0");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(grossModel);
+                //修改皮重一次数据状态
+                tareModel.setValueFlag(DbConstants.NET);
+                tareModel.setUpdateManName("system");
+                tareModel.setUpdateManName("标志皮洁净更新");
+                tareModel.setUpdateTime(new Date());
+                tareModel.setWeightType("1");
+                tareModel.setIsPreSacale("0");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(tareModel);
+
+                MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(grossModel.getActualFirstNo(), tareModel.getActualFirstNo());
+                BeanUtils.copyProperties(mwca1, actualRow);
+                //保存洁净
+                String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
+                actualRow.setActualNo(sdf.format(new Date()) + no);
+                actualRow.setNetTime(new Date());
+                actualRow.setNetMode(DbConstants.TYPE);
+                actualRow.setNote("标志皮洁净");
+                actualRow.setNetMode("1");
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreSacale("0");
+                actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                meterWorkRailwayActualMapper.insertSelective(actualRow);
+                firsts.add(grossModel);
+            }
+            actuals.add(actualRow);
+            meterWorkRailwayActFirstMapper.deleteByPrimaryKey(tareModel.getActualFirstNo());
+
+            actuals.add(actualRow);
+            map.put("firsts", firsts);
+            map.put("actuals", actuals);
+
+            rm.setSucceed();
+            rm.setData(map);
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     public static void main(String[] args) {
         BigDecimal a = new BigDecimal(95120);
         BigDecimal b = a.divide(new BigDecimal(1000));