dengyj před 4 roky
rodič
revize
d59173e656

+ 118 - 34
src/main/java/com/steerinfo/baseinfo/meterbasecar/service/impl/MeterBaseCarServiceImpl.java

@@ -153,16 +153,34 @@ public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, Strin
         rm.setCode("500");
         rm.setMessage("操作失败!!");
         try{
+            int count = 0;
             for(HashMap model: models) {
                 if(model.get("carNo") == null || model.get("carNo").equals("")){
                     rm.setMessage("存在空车号");
                     return rm;
                 }
+                if(model.get("telNum") == null || model.get("telNum").equals("")){
+                    rm.setMessage("司机电话号码不能为空!!");
+                    return rm;
+                }
+                if(model.get("carTypeNo") == null || model.get("carTypeNo").equals("")){
+                    rm.setMessage("车辆类型编号不嫩为空!!");
+                    return rm;
+                }
+                if(model.get("carTypeName") == null || model.get("carTypeName").equals("")){
+                    rm.setMessage("车辆类型名称不能为空!!");
+                    return rm;
+                }
+                /*if(model.get("idNum") == null || model.get("idNum").equals("")){
+                    rm.setMessage("司机身份证不能为空!!");
+                    return rm;
+                }*/
             }
             for (HashMap model : models){
                 //检查车辆是否有停役状态的车
+                String carNo = model.get("carNo").toString().replaceAll("-", "");
                 HashMap query = new HashMap();
-                query.put("carNo", model.get("carNo").toString());
+                query.put("carNo", carNo);
                 query.put("validFlag", "1");
                 List<MeterBaseCar> list = query(query);
                 if(list.size() >= 1) {
@@ -171,7 +189,7 @@ public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, Strin
                         carModel.setValidFlag("0");
                         meterBaseCarMapper.updateByPrimaryKey(carModel);
                         HashMap map = new HashMap();
-                        query.put("carId", model.get("carNo").toString());
+                        query.put("carId", carNo);
                         List<MeterBaseDriver> driverModels = meterBaseDriverMapper.selectByParameters(map);
                         if(driverModels.size() >= 1) {
                             for (MeterBaseDriver driver: driverModels) {
@@ -181,10 +199,6 @@ public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, Strin
                         }
                     }
                 }
-                // 检查车辆是否有服役状态的车
-                query.put("validFlag", "0");
-                list = query(query);
-                if (list.size() == 0) {
                     //没有查询到服役的车辆信息,注册并插入车辆信息和司机信息
                     // sso注册
                     if(model.get("password").toString().equals("")) {
@@ -199,54 +213,124 @@ public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, Strin
                     } else {
                         // sso注册成功时,增加车辆表
                         MeterBaseCar car = new MeterBaseCar();
-                        car.setCarNo(model.get("carNo").toString());
-                        car.setMnemonicCode(model.get("mnemonicCode").toString());
-                        car.setVehicleType(model.get("vehicleType").toString());
-                        //car.setBelongUnitTypeNo();
-                        car.setBelongUnitTypeName(model.get("belongUnitTypeName").toString());
-                        car.setUsetDepartment(model.get("usetDepartmentment").toString());
-                        car.setVehicleIdentifyNo(model.get("vehicleIdentifyNo").toString());
-                        car.setFillingDepartment(model.get("fillingDepartment").toString());
-                        car.setFillingUser(model.get("fillingUser").toString());
-                        car.setIsInsurance(model.get("isInsurance").toString());
-                        car.setOtherInsurance(model.get("otherInsurance").toString());
-                        //car.setCustomerSupplierNo();
-                        car.setCustomerSupplierName(model.get("customerSupplierName").toString());
-                        car.setCarTypeNo(model.get("carTypeNo").toString());
-                        car.setCarTypeName(model.get("carTypeName").toString());
-                        car.setCarCarrierWeight(new BigDecimal(model.get("carCarrierWeight").toString()));
-                        car.setCarSelfWeight(new BigDecimal(model.get("carSelfWeight").toString()));
+                        car.setCarNo(carNo);
+                        if(model.get("mnemonicCode") != null) {
+                            car.setMnemonicCode(StringUtils.isNotEmpty(model.get("mnemonicCode").toString()) ?
+                                    model.get("mnemonicCode").toString() : "");
+                        }
+                        if(model.get("vehicleType") != null) {
+                            car.setVehicleType(StringUtils.isNotEmpty(model.get("vehicleType").toString()) ?
+                                    model.get("vehicleType").toString() : "");
+                        }
+                        if(model.get("belongUnitTypeName") != null) {
+                            if(StringUtils.isNotEmpty(model.get("belongUnitTypeName").toString())) {
+                                car.setBelongUnitTypeName(model.get("belongUnitTypeName").toString());
+                            }
+                        }
+                        if(model.get("usetDepartmentment") != null) {
+                            if(StringUtils.isNotEmpty(model.get("usetDepartmentment").toString())) {
+                                car.setUsetDepartment(model.get("usetDepartmentment").toString());
+                            }
+                        }
+                        if(model.get("vehicleIdentifyNo") != null) {
+                            if(StringUtils.isNotEmpty(model.get("vehicleIdentifyNo").toString())) {
+                                car.setVehicleIdentifyNo(model.get("vehicleIdentifyNo").toString());
+                            }
+                        }
+                        if(model.get("fillingDepartment") != null) {
+                            if(StringUtils.isNotEmpty(model.get("fillingDepartment").toString())) {
+                                car.setFillingDepartment(model.get("fillingDepartment").toString());
+                            }
+                        }
+                        if(model.get("fillingUser") != null) {
+                            if(StringUtils.isNotEmpty(model.get("fillingUser").toString())) {
+                                car.setFillingUser(model.get("fillingUser").toString());
+                            }
+                        }
+                        if(model.get("isInsurance") != null) {
+                            if(StringUtils.isNotEmpty(model.get("isInsurance").toString())) {
+                                car.setIsInsurance(model.get("isInsurance").toString());
+                            }
+                        }
+                        if(model.get("otherInsurance") != null) {
+                            if(StringUtils.isNotEmpty(model.get("otherInsurance").toString())) {
+                                car.setOtherInsurance(model.get("otherInsurance").toString());
+                            }
+                        }
+                        if(model.get("customerSupplierName") != null) {
+                            if(StringUtils.isNotEmpty(model.get("customerSupplierName").toString())) {
+                                car.setCustomerSupplierName(model.get("customerSupplierName").toString());
+                            }
+                        }
+                        if(model.get("carTypeNo") != null) {
+                            if(StringUtils.isNotEmpty(model.get("carTypeNo").toString())) {
+                                car.setCarTypeNo("00" + model.get("carTypeNo").toString());
+                            }
+                        }
+                        if(model.get("carTypeName") != null) {
+                            if(StringUtils.isNotEmpty(model.get("carTypeName").toString())) {
+                                car.setCarTypeName(model.get("carTypeName").toString());
+                            }
+                        }
+                        if(model.get("carCarrierWeight") != null) {
+                            if(StringUtils.isNotEmpty(model.get("carCarrierWeight").toString())) {
+                                car.setCarCarrierWeight(new BigDecimal(model.get("carCarrierWeight").toString()));
+                            }
+                        }
+                        if(model.get("carSelfWeight") != null) {
+                            if(StringUtils.isNotEmpty(model.get("carSelfWeight").toString())) {
+                                car.setCarSelfWeight(new BigDecimal(model.get("carSelfWeight").toString()));
+                            }
+                        }
                         car.setCreateManNo("admin");
                         car.setCreateManName("admins");
                         car.setCreateTime(new Date());
                         car.setValidFlag("0");
                         // 将sso id写入车辆表,便于以后删除和重置密码
-                        car.setSsoId(ssoMap.get("data").toString());
-                        String no=meterBaseCarMapper.GetNewID(new SimpleDateFormat("yyyyMMdd").format(new Date()));
-                        car.setId(new SimpleDateFormat("yyyyMMdd").format(new Date())+no);
-                        meterBaseCarMapper.insertSelective(car);
-                    }
+                        if(ssoMap.get("data") != null && StringUtils.isNotEmpty(ssoMap.get("data").toString())) {
+                            car.setSsoId(ssoMap.get("data").toString());
+                        }
+                        HashMap<String, Object> map = new HashMap<>();
+                        map.put("carNo", carNo);
+                        List<MeterBaseCar> carModels = meterBaseCarMapper.selectByParameters(map);
+                        if(models.size() >= 1) {
+                            car.setPkNo(carModels.get(0).getPkNo());
+                            meterBaseCarMapper.updateByPrimaryKeySelective(car);
+                        }else {
+                            String no=meterBaseCarMapper.GetNewID(new SimpleDateFormat("yyyyMMdd").format(new Date()));
+                            car.setId(new SimpleDateFormat("yyyyMMdd").format(new Date())+no);
+                            meterBaseCarMapper.insertSelective(car);
+                        }
                 }
                 //将司机信息写入司机表
                 MeterBaseDriver driver = new MeterBaseDriver();
-                driver.setDriverNo(model.get("carNo") + model.get("telNum").toString());
+                driver.setDriverNo(carNo + model.get("telNum").toString());
                 driver.setDriverName(model.get("driverName").toString());
-                driver.setIdNum(model.get("idNum").toString());
-                driver.setTelNum(model.get("telNum").toString());
+                if(model.get("idNum") != null) {
+                    if(StringUtils.isNotEmpty(model.get("idNum").toString())) {
+                        driver.setIdNum(model.get("idNum").toString());
+                    }
+                }
+                if(model.get("telNum") != null) {
+                    if(StringUtils.isNotEmpty(model.get("telNum").toString())) {
+                        driver.setTelNum(model.get("telNum").toString());
+                    }
+                }
                 driver.setCreateManNo("admins");
                 driver.setCreateManName("admins");
                 driver.setCreateTime(new Date());
-                driver.setCarId(model.get("carNo").toString());
+                driver.setCarId(carNo);
                 driver.setValidFlag("0");
-
                 MeterBaseDriver findCar = meterBaseDriverMapper.selectByPrimaryKey(driver.getDriverNo());
                 if(findCar == null) {
                     meterBaseDriverMapper.insertSelective(driver);
                 }
+                count ++;
             }
             rm.setSucceed();
             rm.setCode("200");
-            rm.setMessage("操作成功!!");
+            rm.setData(count);
+            rm.setMessage("操作成功,总共" + count + "条数据插入成功!!!");
         }catch (Exception e){
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

+ 38 - 5
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -4163,10 +4163,10 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                         int i = meterWorkRailwayActFirstMapper.insertSelective(first);
                         if (i >= 1) {
                             firsts.add(first);
-                            railwayHelp.setHelpContent("计量完成,车号" + first.getRailwayNo() + "存在多个委托,无法自动匹配");
+                            railwayHelp.setHelpContent("计量完成,车号" + first.getRailwayNo() + "存在多条一次记录未洁净,保存一次记录成功!!");
                             meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
                             rm.setSucceed();
-                            rm.setMessage("存在多个委托,无法自动匹配委托,自动保存一次数据成功!!");
+                            rm.setMessage("计量完成,车号" + first.getRailwayNo() + "存在多条一次记录未洁净,保存一次记录成功!!");
                             resultMap.put("firsts", firsts);
                             resultMap.put("actuals", null);
                             rm.setData(resultMap);
@@ -4178,10 +4178,10 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     int i = meterWorkRailwayActFirstMapper.insertSelective(first);
                     if (i >= 1) {
                         firsts.add(first);
-                        railwayHelp.setHelpContent("计量完成,车号" + first.getRailwayNo() + "存在多条一次记录,无法自动匹配结净");
+                        railwayHelp.setHelpContent("计量完成,车号" + first.getRailwayNo() + "保存一次记录成功!!");
                         meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
                         rm.setSucceed();
-                        rm.setMessage("存在多条一次记录,无法自动匹配结净,自动保存一次数据成功!!");
+                        rm.setMessage("计量完成,车号" + first.getRailwayNo() + "保存一次记录成功!!");
                         resultMap.put("firsts", firsts);
                         resultMap.put("actuals", null);
                         rm.setData(resultMap);
@@ -4264,7 +4264,40 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                 meterWorkRailwayActualMapper.insertSelective(actualRow);
                 return "计量完成," + grossModel.getRailwayNo() + "与委托编号" + scale.getPredictionNo() +"计量结净";
             }else {
-                return grossModel.getRailwayNo() + "车号在委托信息表含有多条有效委托信息,不允许匹配委托洁净,请确认!!";
+                //更新第一次毛重数据库
+                grossModel.setValueFlag(DbConstants.NET);
+                grossModel.setUpdateManName("system");
+                grossModel.setUpdateManName("自助计量洁净更新");
+                grossModel.setUpdateTime(new Date());
+                grossModel.setWeightType("0");
+                grossModel.setIsPreSacale("0");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+                //更新第一次皮重数据库
+                tareModel.setValueFlag(DbConstants.NET);
+                tareModel.setUpdateManName("system");
+                tareModel.setUpdateManName("自助计量洁净更新");
+                tareModel.setUpdateTime(new Date());
+                tareModel.setWeightType("1");
+                tareModel.setIsPreSacale("0");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(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);
+                return "计量完成,车号"+ grossModel.getRailwayNo() +"在委托信息表含有多条有效委托信息,无委托洁净";
             }
         }else {
             ///////////无委托自动计量