|
@@ -23,6 +23,7 @@ import com.steerinfo.meterwork.except.MarkerMetException;
|
|
|
import com.steerinfo.meterwork.meterworkcaractualfirst.mapper.MeterWorkCarActualFirstMapper;
|
|
import com.steerinfo.meterwork.meterworkcaractualfirst.mapper.MeterWorkCarActualFirstMapper;
|
|
|
import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
|
|
import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
|
|
|
import com.steerinfo.util.FieldsCollector;
|
|
import com.steerinfo.util.FieldsCollector;
|
|
|
|
|
+import com.steerinfo.util.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -250,126 +251,131 @@ public class MeterBaseTermTareDataServiceImpl extends BaseServiceImpl<MeterBaseT
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public RESTfulResult doSaveTerm(String id) {
|
|
public RESTfulResult doSaveTerm(String id) {
|
|
|
RESTfulResult rm = new RESTfulResult();
|
|
RESTfulResult rm = new RESTfulResult();
|
|
|
- rm.setCode("200");
|
|
|
|
|
-
|
|
|
|
|
- //从一次计量表里取出:车号、计量点编号、计量点名称、计量时间、计量重量
|
|
|
|
|
- String actualFirstNo = id;
|
|
|
|
|
- MeterWorkCarActualFirst modelTemp = meterWorkCarActualFirstMapper.selectByPrimaryKey(actualFirstNo);
|
|
|
|
|
- String carNo = modelTemp.getCarNo();
|
|
|
|
|
- String baseSpotName = modelTemp.getBaseSpotName();
|
|
|
|
|
- String baseSpotNo = modelTemp.getBaseSpotNo();
|
|
|
|
|
- Date meterTime = modelTemp.getCreateTime();
|
|
|
|
|
- BigDecimal meterWeight = modelTemp.getMeterWeight();
|
|
|
|
|
- if(carNo == null){
|
|
|
|
|
- rm.setMessage("车号不能为空,请确认!!");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
- if(baseSpotNo == null && baseSpotName == null){
|
|
|
|
|
- rm.setMessage("计量点编号或者计量点名称为空,请确认!!");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
- if(meterTime == null){
|
|
|
|
|
- rm.setMessage("计量时间不能为空!!");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- HashMap<String, Object> ms = new HashMap<>();
|
|
|
|
|
- ms.put("carNo", carNo);
|
|
|
|
|
- ms.put("validFlag", "0");
|
|
|
|
|
- ms.put("carTypeNo", "001004003");
|
|
|
|
|
- List<MeterBaseCar> models = meterBaseCarMapper.selectByParameters(ms);
|
|
|
|
|
- if(models.size() < 1 ) {
|
|
|
|
|
- rm.setMessage("车辆不是内部车辆不能留存期限皮!!");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ rm.setFailed();
|
|
|
|
|
+ try{
|
|
|
|
|
+ //从一次计量表里取出:车号、计量点编号、计量点名称、计量时间、计量重量
|
|
|
|
|
+ String actualFirstNo = id;
|
|
|
|
|
+ MeterWorkCarActualFirst modelTemp = meterWorkCarActualFirstMapper.selectByPrimaryKey(actualFirstNo);
|
|
|
|
|
+ String carNo = modelTemp.getCarNo();
|
|
|
|
|
+ String baseSpotName = modelTemp.getBaseSpotName();
|
|
|
|
|
+ String baseSpotNo = modelTemp.getBaseSpotNo();
|
|
|
|
|
+ Date meterTime = modelTemp.getCreateTime();
|
|
|
|
|
+ BigDecimal meterWeight = modelTemp.getMeterWeight();
|
|
|
|
|
+ if(StringUtils.isEmpty(carNo)){
|
|
|
|
|
+ rm.setMessage("车号不能为空,请确认!!");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(StringUtils.isEmpty(baseSpotNo) && StringUtils.isEmpty(baseSpotName)){
|
|
|
|
|
+ rm.setMessage("计量点编号或者计量点名称为空,请确认!!");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(meterTime == null || StringUtils.isEmpty(meterTime.toString())){
|
|
|
|
|
+ rm.setMessage("计量时间不能为空!!");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- UserPayload payload = UserPayload.getCurrUser();
|
|
|
|
|
- String userId = payload.getId();
|
|
|
|
|
- String userName = payload.getUserName();
|
|
|
|
|
- if(modelTemp.getWeightType().equals("0")) {
|
|
|
|
|
- rm.setMessage("计量类型为毛重,不能进行期限皮重保存!!");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }else {
|
|
|
|
|
- modelTemp.setWeightType("2");
|
|
|
|
|
- modelTemp.setValueFlag("0");
|
|
|
|
|
- modelTemp.setUpdateManName(userId);
|
|
|
|
|
- modelTemp.setUpdateManNo(userName);
|
|
|
|
|
- modelTemp.setUpdateTime(new Date());
|
|
|
|
|
- modelTemp.setNote("期限皮重保存");
|
|
|
|
|
- meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(modelTemp);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ HashMap<String, Object> ms = new HashMap<>();
|
|
|
|
|
+ ms.put("carNo", carNo);
|
|
|
|
|
+ ms.put("validFlag", "0");
|
|
|
|
|
+ ms.put("carTypeNo", "001004003");
|
|
|
|
|
+ List<MeterBaseCar> models = meterBaseCarMapper.selectByParameters(ms);
|
|
|
|
|
+ if(models.size() < 1 ) {
|
|
|
|
|
+ rm.setMessage("车辆不是内部车辆不能留存期限皮!!");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
|
|
+ String userId = "";
|
|
|
|
|
+ String userName = "";
|
|
|
|
|
+ try{
|
|
|
|
|
+ UserPayload payload = UserPayload.getCurrUser();
|
|
|
|
|
+ userId = payload.getUserCode();
|
|
|
|
|
+ userName = payload.getUserName();
|
|
|
|
|
+ }catch(Exception e) {
|
|
|
|
|
+ userId = "system";
|
|
|
|
|
+ userName = "system";
|
|
|
|
|
+ }
|
|
|
|
|
+ if(StringUtils.isEmpty(modelTemp.getWeightType())
|
|
|
|
|
+ || !(modelTemp.getWeightType().equals("1") || modelTemp.getWeightType().equals("2"))) {
|
|
|
|
|
+ rm.setMessage("计量类型不是皮重类型,请进行毛皮转换成皮重之后再保存期限皮!!");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ modelTemp.setWeightType("2");
|
|
|
|
|
+ modelTemp.setValueFlag("0");
|
|
|
|
|
+ modelTemp.setUpdateManName(userId);
|
|
|
|
|
+ modelTemp.setUpdateManNo(userName);
|
|
|
|
|
+ modelTemp.setUpdateTime(new Date());
|
|
|
|
|
+ modelTemp.setNote("期限皮重保存");
|
|
|
|
|
+ meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(modelTemp);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if(userId == null && userName == null){
|
|
|
|
|
- rm.setMessage("计量人编号或者计量员为空,请确认");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
- //根据车号查询期限表的期限皮重信息
|
|
|
|
|
- HashMap<String, Object> map = new HashMap();
|
|
|
|
|
- map.put("carNo", carNo);
|
|
|
|
|
- MeterBaseTermTareData modelTerm = meterBaseTermTareDataMapper.selectWhereCarNo(map);
|
|
|
|
|
- //设置数据编号
|
|
|
|
|
- MeterBaseTermTareData model = new MeterBaseTermTareData();
|
|
|
|
|
-
|
|
|
|
|
- //设置计量点编号、名称、车号
|
|
|
|
|
- model.setBaseSpotName(baseSpotName);
|
|
|
|
|
- model.setBaseSpotNo(baseSpotNo);
|
|
|
|
|
- model.setCarNo(carNo);
|
|
|
|
|
- //设置皮重时间、开始时间、结束时间、提醒留皮时间
|
|
|
|
|
- HashMap<String, Object> tareTimemap = new HashMap();
|
|
|
|
|
- tareTimemap.put("valueFlag", "0");
|
|
|
|
|
- MeterBaseTermTareTime tareTimeModel = meterBaseTermTareTimeMapper.selectByMap(tareTimemap);
|
|
|
|
|
- if(tareTimeModel != null){
|
|
|
|
|
- Date endDate = new Date();
|
|
|
|
|
- Date warnDate = new Date();
|
|
|
|
|
- int day = tareTimeModel.getFixedValue();
|
|
|
|
|
- endDate.setDate(endDate.getDate()+day);
|
|
|
|
|
- warnDate.setDate(warnDate.getDate()+tareTimeModel.getWarnValue());
|
|
|
|
|
- model.setStartTime(new Date());
|
|
|
|
|
- model.setEndTime(new Date(endDate.getTime()));
|
|
|
|
|
- model.setWarnTime(new Date(warnDate.getTime()));
|
|
|
|
|
- }else{
|
|
|
|
|
- rm.setMessage("计量人编号或者计量员为空,请确认");
|
|
|
|
|
- rm.setCode("1");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }
|
|
|
|
|
- model.setMeterTime(meterTime);
|
|
|
|
|
-
|
|
|
|
|
- //设置状态(0:有效;1:无效)、创建人编号、创建人、创建时间
|
|
|
|
|
- model.setValueFlag("0");
|
|
|
|
|
- model.setCreateManNo(userId);
|
|
|
|
|
- model.setCreateManName(userName);
|
|
|
|
|
-
|
|
|
|
|
- //model.setCreateManNo("userId");
|
|
|
|
|
- //model.setCreateManName("userName");
|
|
|
|
|
- model.setCreateTime(new Date());
|
|
|
|
|
- //设置皮重次数(默认7次)、设置皮重
|
|
|
|
|
- model.setMeterNum(7L);
|
|
|
|
|
- model.setMeterWeight(meterWeight);
|
|
|
|
|
- //期限皮表未查到车号信息,直接插入,否则,更新车号信息
|
|
|
|
|
- if(modelTerm == null){
|
|
|
|
|
- model.setUpWeight(meterWeight.longValue());
|
|
|
|
|
- model.setAvgWeight(meterWeight.longValue());
|
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
- model.setDataNo(sdf.format(new Date()));
|
|
|
|
|
- meterBaseTermTareDataMapper.insertSelective(model);
|
|
|
|
|
- }else if(modelTerm.getCarNo().equals(carNo)){
|
|
|
|
|
- //设置上一次皮重、平均皮重
|
|
|
|
|
- model.setUpWeight(modelTerm.getMeterWeight().longValue()); //BigDecimal转long类型
|
|
|
|
|
- long avgValue = modelTerm.getAvgWeight() == null? 0: modelTerm.getAvgWeight();
|
|
|
|
|
- long avg =avgValue + modelTerm.getMeterWeight().longValue();
|
|
|
|
|
- model.setAvgWeight(avg/2);
|
|
|
|
|
- model.setDataNo(modelTerm.getDataNo());
|
|
|
|
|
- meterBaseTermTareDataMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
|
|
+ //根据车号查询期限表的期限皮重信息
|
|
|
|
|
+ HashMap<String, Object> map = new HashMap();
|
|
|
|
|
+ map.put("carNo", carNo);
|
|
|
|
|
+ MeterBaseTermTareData modelTerm = meterBaseTermTareDataMapper.selectWhereCarNo(map);
|
|
|
|
|
+ //设置数据编号
|
|
|
|
|
+ MeterBaseTermTareData model = new MeterBaseTermTareData();
|
|
|
|
|
+ //设置计量点编号、名称、车号
|
|
|
|
|
+ model.setBaseSpotName(baseSpotName);
|
|
|
|
|
+ model.setBaseSpotNo(baseSpotNo);
|
|
|
|
|
+ model.setCarNo(carNo);
|
|
|
|
|
+ //设置皮重时间、开始时间、结束时间、提醒留皮时间
|
|
|
|
|
+ HashMap<String, Object> tareTimemap = new HashMap();
|
|
|
|
|
+ tareTimemap.put("valueFlag", "0");
|
|
|
|
|
+ MeterBaseTermTareTime tareTimeModel = meterBaseTermTareTimeMapper.selectByMap(tareTimemap);
|
|
|
|
|
+ if(tareTimeModel != null){
|
|
|
|
|
+ Date endDate = new Date();
|
|
|
|
|
+ Date warnDate = new Date();
|
|
|
|
|
+ int day = tareTimeModel.getFixedValue();
|
|
|
|
|
+ endDate.setDate(endDate.getDate()+day);
|
|
|
|
|
+ warnDate.setDate(warnDate.getDate()+tareTimeModel.getWarnValue());
|
|
|
|
|
+ model.setStartTime(new Date());
|
|
|
|
|
+ model.setEndTime(new Date(endDate.getTime()));
|
|
|
|
|
+ model.setWarnTime(new Date(warnDate.getTime()));
|
|
|
|
|
+ }else{
|
|
|
|
|
+ rm.setMessage("计量人编号或者计量员为空,请确认");
|
|
|
|
|
+ rm.setCode("1");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
|
|
+ model.setMeterTime(meterTime);
|
|
|
|
|
+ //设置状态(0:有效;1:无效)、创建人编号、创建人、创建时间
|
|
|
|
|
+ model.setValueFlag("0");
|
|
|
|
|
+ model.setCreateManNo(userId);
|
|
|
|
|
+ model.setCreateManName(userName);
|
|
|
|
|
+ model.setCreateTime(new Date());
|
|
|
|
|
+ //设置皮重次数(默认7次)、设置皮重
|
|
|
|
|
+ model.setMeterNum(7L);
|
|
|
|
|
+ model.setMeterWeight(meterWeight);
|
|
|
|
|
+ //期限皮表未查到车号信息,直接插入,否则,更新车号信息
|
|
|
|
|
+ if(modelTerm == null){
|
|
|
|
|
+ model.setUpWeight(meterWeight.longValue());
|
|
|
|
|
+ model.setAvgWeight(meterWeight.longValue());
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
+ model.setDataNo(sdf.format(new Date()));
|
|
|
|
|
+ meterBaseTermTareDataMapper.insertSelective(model);
|
|
|
|
|
+ }else if(modelTerm.getCarNo().equals(carNo)){
|
|
|
|
|
+ //设置上一次皮重、平均皮重
|
|
|
|
|
+ model.setUpWeight(modelTerm.getMeterWeight().longValue()); //BigDecimal转long类型
|
|
|
|
|
+ long avgValue = modelTerm.getAvgWeight() == null? 0: modelTerm.getAvgWeight();
|
|
|
|
|
+ long avg =avgValue + modelTerm.getMeterWeight().longValue();
|
|
|
|
|
+ model.setAvgWeight(avg/2);
|
|
|
|
|
+ model.setDataNo(modelTerm.getDataNo());
|
|
|
|
|
+ meterBaseTermTareDataMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
+ }
|
|
|
|
|
+ rm.setSucceed();
|
|
|
|
|
+ rm.setCode("200");
|
|
|
|
|
+ rm.setMessage("操作成功");
|
|
|
|
|
+ }catch(Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
|
+ rm.setMessage("操作失败," + e.getMessage());
|
|
|
}
|
|
}
|
|
|
- rm.setMessage("操作成功");
|
|
|
|
|
return rm;
|
|
return rm;
|
|
|
}
|
|
}
|
|
|
|
|
|