BourneCao 4 rokov pred
rodič
commit
cfca7c0c8e
29 zmenil súbory, kde vykonal 1833 pridanie a 163 odobranie
  1. 67 3
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/controller/MeterBaseCalibraNumRelController.java
  2. 4 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/mapper/MeterBaseCalibraNumRelMapper.java
  3. 141 8
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/mapper/MeterBaseCalibraNumRelMapper.xml
  4. 75 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/model/MeterBaseCalibraNumRel.java
  5. 10 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/service/IMeterBaseCalibraNumRelService.java
  6. 114 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/service/impl/MeterBaseCalibraNumRelServiceImpl.java
  7. 106 4
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/controller/MeterBaseCalibraRelationController.java
  8. 2 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/mapper/MeterBaseCalibraRelationMapper.java
  9. 219 7
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/mapper/MeterBaseCalibraRelationMapper.xml
  10. 120 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/model/MeterBaseCalibraRelation.java
  11. 11 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/service/IMeterBaseCalibraRelationService.java
  12. 145 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/service/impl/MeterBaseCalibraRelationServiceImpl.java
  13. 44 4
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/controller/MeterBaseCalibrationNumController.java
  14. 7 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/service/IMeterBaseCalibrationNumService.java
  15. 95 39
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/service/impl/MeterBaseCalibrationNumServiceImpl.java
  16. 80 4
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/controller/MeterBaseCalibrationTimeController.java
  17. 10 0
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/service/IMeterBaseCalibrationTimeService.java
  18. 81 10
      src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/service/impl/MeterBaseCalibrationTimeServiceImpl.java
  19. 1 1
      src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.xml
  20. 83 2
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/controller/MeterWorkCarActualController.java
  21. 7 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.java
  22. 52 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.xml
  23. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/model/MeterWorkCarActual.java
  24. 12 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/IMeterWorkCarActualService.java
  25. 285 78
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java
  26. 23 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/controller/MeterWorkCarActualFirstController.java
  27. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/model/MeterWorkCarActualFirst.java
  28. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/IMeterWorkCarActualFirstService.java
  29. 36 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

+ 67 - 3
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/controller/MeterBaseCalibraNumRelController.java

@@ -1,5 +1,9 @@
 package com.steerinfo.baseinfo.meterbasecalibranumrel.controller;
 
+import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation;
+import com.steerinfo.baseinfo.meterbasecalibrationnum.model.MeterBaseCalibrationNum;
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
@@ -42,7 +46,7 @@ public class MeterBaseCalibraNumRelController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibraNumRelService meterBaseCalibraNumRelService;
 
-    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
+    @ApiOperation(value = "获取列表", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -76,7 +80,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibraNumRel对象创建")
+    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibraNumRel对象创建")
     @ApiImplicitParam(name = "meterBaseCalibraNumRel", value = "详细实体meterBaseCalibraNumRel", required = true, dataType = "MeterBaseCalibraNumRel")
     //@RequiresPermissions("meterbasecalibranumrel:create")
     @Transactional
@@ -127,7 +131,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "删除-网页", notes = "根据url的实体集来指定删除对象")
+    @ApiOperation(value = "删除", notes = "根据url的实体集来指定删除对象")
     @ApiImplicitParam(name = "MeterBaseCalibraNumRel", value = "详细实体MeterBaseCalibraNumRel", required = true, dataType = "MeterBaseCalibraNumRel")
     @PutMapping(value = "/")
     public RESTfulResult delete(@RequestBody List<MeterBaseCalibraNumRel> models) {
@@ -146,5 +150,65 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
+    @ApiOperation(value = "新增计量点校称重量", notes = "根据MeterBaseCalibrationNum,MeterBaseSpotInfo对象创建")
+    @Transactional
+    @PostMapping(value = "/addSpotNum")
+    public RESTfulResult addSpotNum(@RequestBody MeterBaseCalibrationNum mbCalibrationNum, @RequestParam(required = true) String baseSpotNo, @RequestParam(required = true) String baseSpotName) {
+        try {
+            MeterBaseSpotInfo mbSpotInfo = new MeterBaseSpotInfo();
+            mbSpotInfo.setBaseSpotNo(baseSpotNo);
+            mbSpotInfo.setBaseSpotName(baseSpotName);
+            String msg = meterBaseCalibraNumRelService.addSpotNum(mbCalibrationNum,mbSpotInfo);
+            if (msg != null && !msg.equals("")) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "废除标识符", notes = "根据传过来的MeterBaseCalibraNumRel集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCalibraNumRel", value = "详细实体MeterBaseCalibraNumRel", required = true, dataType = "MeterBaseCalibraNumRel")
+    })
+    //@RequiresPermissions("combaseinfo:update")
+    @Transactional
+    @PostMapping(value = "/abolish")
+    public RESTfulResult abolish(@RequestBody List<MeterBaseCalibraNumRel> models) {
+        try {
+            String msg = meterBaseCalibraNumRelService.abolish(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "按校称重量编号修改计量点校称重量", notes = "根据传过来的MeterBaseCalibrationNum集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCalibrationNum", value = "详细实体MeterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
+    })
+    @Transactional
+    @PostMapping(value = "/updateBymbCalibWeightNo")
+    public RESTfulResult updateBymbCalibWeightNo(@RequestParam(required = true) String calWeightNo,@RequestBody MeterBaseCalibrationNum models) {
+        try {
+            String msg = meterBaseCalibraNumRelService.updateBymbCalibWeightNo(calWeightNo,models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
 
 }

+ 4 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/mapper/MeterBaseCalibraNumRelMapper.java

@@ -4,7 +4,11 @@ import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 @Mapper
 public interface MeterBaseCalibraNumRelMapper extends IBaseMapper<MeterBaseCalibraNumRel, String> {
      String GetNewID();
+
+    List<MeterBaseCalibraNumRel> selectByCalibWeightNo(String calWeightNo);
 }

+ 141 - 8
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/mapper/MeterBaseCalibraNumRelMapper.xml

@@ -17,17 +17,24 @@
     <result column="IS_METER" jdbcType="VARCHAR" property="isMeter" />
     <result column="MUTUAL_STRATEGY_NO" jdbcType="VARCHAR" property="mutualStrategyNo" />
     <result column="MUTUAL_STRATEGY_NAME" jdbcType="VARCHAR" property="mutualStrategyName" />
+    <result column="VALID_FLAG" jdbcType="VARCHAR" property="validFlag" />
+    <result column="UPDATE_MAN_NO" jdbcType="VARCHAR" property="updateManNo" />
+    <result column="UPDATE_MAN_NAME" jdbcType="VARCHAR" property="updateManName" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="CALIBRATION_NUM_NO" jdbcType="VARCHAR" property="calibrationNumNo" />
   </resultMap>
   <sql id="columns">
     RELATION_NO, BASE_SPOT_NO, BASE_SPOT_NAME, SPOT_TYPE_NO, SPOT_TYPE_NAME, CALIBRATION_NUM,
     CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME, CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME,
-    UP_WEIGHT, IS_METER, MUTUAL_STRATEGY_NO, MUTUAL_STRATEGY_NAME
+    UP_WEIGHT, IS_METER, MUTUAL_STRATEGY_NO, MUTUAL_STRATEGY_NAME, VALID_FLAG, UPDATE_MAN_NO,
+    UPDATE_MAN_NAME, UPDATE_TIME, CALIBRATION_NUM_NO
   </sql>
   <sql id="columns_alias">
     t.RELATION_NO, t.BASE_SPOT_NO, t.BASE_SPOT_NAME, t.SPOT_TYPE_NO, t.SPOT_TYPE_NAME,
     t.CALIBRATION_NUM, t.CALIBRATION_TYPE_NO, t.CALIBRATION_TYPE_NAME, t.CREATE_MAN_NO,
     t.CREATE_MAN_NAME, t.CREATE_TIME, t.UP_WEIGHT, t.IS_METER, t.MUTUAL_STRATEGY_NO,
-    t.MUTUAL_STRATEGY_NAME
+    t.MUTUAL_STRATEGY_NAME, t.VALID_FLAG, t.UPDATE_MAN_NO, t.UPDATE_MAN_NAME, t.UPDATE_TIME,
+    t.CALIBRATION_NUM_NO
   </sql>
   <sql id="select">
     SELECT <include refid="columns"/> FROM METER_BASE_CALIBRA_NUM_REL
@@ -82,6 +89,21 @@
       <if test="mutualStrategyName != null and mutualStrategyName != ''">
         and MUTUAL_STRATEGY_NAME = #{mutualStrategyName}
       </if>
+      <if test="validFlag != null and validFlag != ''">
+        and VALID_FLAG = #{validFlag}
+      </if>
+      <if test="updateManNo != null and updateManNo != ''">
+        and UPDATE_MAN_NO = #{updateManNo}
+      </if>
+      <if test="updateManName != null and updateManName != ''">
+        and UPDATE_MAN_NAME = #{updateManName}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="calibrationNumNo != null and calibrationNumNo != ''">
+        and CALIBRATION_NUM_NO = #{calibrationNumNo}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -131,6 +153,21 @@
       <if test="mutualStrategyName != null and mutualStrategyName != ''">
         and MUTUAL_STRATEGY_NAME LIKE '%${mutualStrategyName}%'
       </if>
+      <if test="validFlag != null and validFlag != ''">
+        and VALID_FLAG LIKE '%${validFlag}%'
+      </if>
+      <if test="updateManNo != null and updateManNo != ''">
+        and UPDATE_MAN_NO LIKE '%${updateManNo}%'
+      </if>
+      <if test="updateManName != null and updateManName != ''">
+        and UPDATE_MAN_NAME LIKE '%${updateManName}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="calibrationNumNo != null and calibrationNumNo != ''">
+        and CALIBRATION_NUM_NO LIKE '%${calibrationNumNo}%'
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
@@ -182,6 +219,21 @@
     <if test="mutualStrategyName != null and mutualStrategyName != ''">
       or MUTUAL_STRATEGY_NAME = #{mutualStrategyName}
     </if>
+    <if test="validFlag != null and validFlag != ''">
+      or VALID_FLAG = #{validFlag}
+    </if>
+    <if test="updateManNo != null and updateManNo != ''">
+      or UPDATE_MAN_NO = #{updateManNo}
+    </if>
+    <if test="updateManName != null and updateManName != ''">
+      or UPDATE_MAN_NAME = #{updateManName}
+    </if>
+    <if test="updateTime != null">
+      or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+    </if>
+    <if test="calibrationNumNo != null and calibrationNumNo != ''">
+      or CALIBRATION_NUM_NO = #{calibrationNumNo}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel">
     insert into METER_BASE_CALIBRA_NUM_REL (RELATION_NO, BASE_SPOT_NO, BASE_SPOT_NAME,
@@ -189,13 +241,15 @@
       CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME,
       CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME,
       UP_WEIGHT, IS_METER, MUTUAL_STRATEGY_NO,
-      MUTUAL_STRATEGY_NAME)
+      MUTUAL_STRATEGY_NAME, VALID_FLAG, UPDATE_MAN_NO,
+      UPDATE_MAN_NAME, UPDATE_TIME, CALIBRATION_NUM_NO)
     values (#{relationNo,jdbcType=VARCHAR}, #{baseSpotNo,jdbcType=VARCHAR}, #{baseSpotName,jdbcType=VARCHAR},
       #{spotTypeNo,jdbcType=VARCHAR}, #{spotTypeName,jdbcType=VARCHAR}, #{calibrationNum,jdbcType=DECIMAL},
       #{calibrationTypeNo,jdbcType=VARCHAR}, #{calibrationTypeName,jdbcType=VARCHAR},
       #{createManNo,jdbcType=VARCHAR}, #{createManName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
       #{upWeight,jdbcType=DECIMAL}, #{isMeter,jdbcType=VARCHAR}, #{mutualStrategyNo,jdbcType=VARCHAR},
-      #{mutualStrategyName,jdbcType=VARCHAR})
+      #{mutualStrategyName,jdbcType=VARCHAR}, #{validFlag,jdbcType=VARCHAR}, #{updateManNo,jdbcType=VARCHAR},
+      #{updateManName,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{calibrationNumNo,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel">
     insert into METER_BASE_CALIBRA_NUM_REL
@@ -245,6 +299,21 @@
       <if test="mutualStrategyName != null">
         MUTUAL_STRATEGY_NAME,
       </if>
+      <if test="validFlag != null">
+        VALID_FLAG,
+      </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO,
+      </if>
+      <if test="updateManName != null">
+        UPDATE_MAN_NAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="calibrationNumNo != null">
+        CALIBRATION_NUM_NO,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="relationNo != null">
@@ -292,6 +361,21 @@
       <if test="mutualStrategyName != null">
         #{mutualStrategyName,jdbcType=VARCHAR},
       </if>
+      <if test="validFlag != null">
+        #{validFlag,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManNo != null">
+        #{updateManNo,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManName != null">
+        #{updateManName,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="calibrationNumNo != null">
+        #{calibrationNumNo,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel">
@@ -309,7 +393,12 @@
       UP_WEIGHT = #{upWeight,jdbcType=DECIMAL},
       IS_METER = #{isMeter,jdbcType=VARCHAR},
       MUTUAL_STRATEGY_NO = #{mutualStrategyNo,jdbcType=VARCHAR},
-      MUTUAL_STRATEGY_NAME = #{mutualStrategyName,jdbcType=VARCHAR}
+      MUTUAL_STRATEGY_NAME = #{mutualStrategyName,jdbcType=VARCHAR},
+      VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
+      UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
+      UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      CALIBRATION_NUM_NO = #{calibrationNumNo,jdbcType=VARCHAR}
     where RELATION_NO = #{relationNo,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel">
@@ -357,6 +446,21 @@
       <if test="mutualStrategyName != null">
         MUTUAL_STRATEGY_NAME = #{mutualStrategyName,jdbcType=VARCHAR},
       </if>
+      <if test="validFlag != null">
+        VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManName != null">
+        UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="calibrationNumNo != null">
+        CALIBRATION_NUM_NO = #{calibrationNumNo,jdbcType=VARCHAR},
+      </if>
     </set>
     where RELATION_NO = #{relationNo,jdbcType=VARCHAR}
   </update>
@@ -382,7 +486,9 @@
     CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME,
     CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME,
     UP_WEIGHT, IS_METER, MUTUAL_STRATEGY_NO,
-    MUTUAL_STRATEGY_NAME)
+    MUTUAL_STRATEGY_NAME, VALID_FLAG,
+    UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME,
+    CALIBRATION_NUM_NO)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.relationNo,jdbcType=VARCHAR},
@@ -391,7 +497,9 @@
     #{item.calibrationTypeNo,jdbcType=VARCHAR}, #{item.calibrationTypeName,jdbcType=VARCHAR},
     #{item.createManNo,jdbcType=VARCHAR}, #{item.createManName,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP},
     #{item.upWeight,jdbcType=DECIMAL}, #{item.isMeter,jdbcType=VARCHAR}, #{item.mutualStrategyNo,jdbcType=VARCHAR},
-    #{item.mutualStrategyName,jdbcType=VARCHAR} from dual
+    #{item.mutualStrategyName,jdbcType=VARCHAR} , #{item.validFlag,jdbcType=VARCHAR},
+    #{item.updateManNo,jdbcType=VARCHAR}, #{item.updateManName,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+    #{item.calibrationNumNo,jdbcType=VARCHAR} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -457,6 +565,26 @@
     <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
       when #{item.relationNo,jdbcType=VARCHAR} then #{item.mutualStrategyName,jdbcType=VARCHAR}
     </foreach>
+    ,VALID_FLAG=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+      when #{item.relationNo,jdbcType=VARCHAR} then #{item.validFlag,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_MAN_NO=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+      when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateManNo,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_MAN_NAME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+      when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateManName,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+      when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,CALIBRATION_NUM_NO=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+      when #{item.relationNo,jdbcType=VARCHAR} then #{item.calibrationNumNo,jdbcType=VARCHAR}
+    </foreach>
     where RELATION_NO in
     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
       #{item.relationNo,jdbcType=VARCHAR}
@@ -475,5 +603,10 @@
     SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(RELATION_NO, LENGTH(RELATION_NO)-4 ))),0) + 1,5,'0') RELATION_NO
     FROM METER_BASE_CALIBRA_NUM_REL
   </select>
-
+  <select id="selectByCalibWeightNo" parameterType="java.lang.String" resultMap="BaseResultMap">
+   select t2.*
+          from METER_BASE_CALIBRA_NUM_REL t2
+         where t2.calibration_Num_no =  #{calibrationNumNo,jdbcType=VARCHAR}
+           and t2.valid_flag = '1'
+  </select>
 </mapper>

+ 75 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/model/MeterBaseCalibraNumRel.java

@@ -97,6 +97,36 @@ public class MeterBaseCalibraNumRel implements IBasePO<String> {
     @ApiModelProperty(value="互检策略名称",required=false)
     private String mutualStrategyName;
 
+    /**
+     * 状态(0:无效;1:有效)(VALID_FLAG,VARCHAR,1)
+     */
+    @ApiModelProperty(value="状态(0:无效;1:有效)",required=false)
+    private String validFlag;
+
+    /**
+     * 修改人编号(UPDATE_MAN_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="修改人编号",required=false)
+    private String updateManNo;
+
+    /**
+     * 修改人姓名(UPDATE_MAN_NAME,VARCHAR,30)
+     */
+    @ApiModelProperty(value="修改人姓名",required=false)
+    private String updateManName;
+
+    /**
+     * 修改时间(YYYY-MM-DD HH:mm:SS)(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="修改时间(YYYY-MM-DD HH:mm:SS)",required=false)
+    private Date updateTime;
+
+    /**
+     * 校秤配置编号(YYYYMMDD+4位流水)(CALIBRATION_NUM_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="校秤配置编号(YYYYMMDD+4位流水)",required=false)
+    private String calibrationNumNo;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -229,6 +259,46 @@ public class MeterBaseCalibraNumRel implements IBasePO<String> {
         this.mutualStrategyName = mutualStrategyName == null ? null : mutualStrategyName.trim();
     }
 
+    public String getValidFlag() {
+        return validFlag;
+    }
+
+    public void setValidFlag(String validFlag) {
+        this.validFlag = validFlag == null ? null : validFlag.trim();
+    }
+
+    public String getUpdateManNo() {
+        return updateManNo;
+    }
+
+    public void setUpdateManNo(String updateManNo) {
+        this.updateManNo = updateManNo == null ? null : updateManNo.trim();
+    }
+
+    public String getUpdateManName() {
+        return updateManName;
+    }
+
+    public void setUpdateManName(String updateManName) {
+        this.updateManName = updateManName == null ? null : updateManName.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getCalibrationNumNo() {
+        return calibrationNumNo;
+    }
+
+    public void setCalibrationNumNo(String calibrationNumNo) {
+        this.calibrationNumNo = calibrationNumNo == null ? null : calibrationNumNo.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -250,6 +320,11 @@ public class MeterBaseCalibraNumRel implements IBasePO<String> {
         sb.append(", isMeter=").append(isMeter);
         sb.append(", mutualStrategyNo=").append(mutualStrategyNo);
         sb.append(", mutualStrategyName=").append(mutualStrategyName);
+        sb.append(", validFlag=").append(validFlag);
+        sb.append(", updateManNo=").append(updateManNo);
+        sb.append(", updateManName=").append(updateManName);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", calibrationNumNo=").append(calibrationNumNo);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 10 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/service/IMeterBaseCalibraNumRelService.java

@@ -1,5 +1,9 @@
 package com.steerinfo.baseinfo.meterbasecalibranumrel.service;
 
+import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation;
+import com.steerinfo.baseinfo.meterbasecalibrationnum.model.MeterBaseCalibrationNum;
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel;
 
@@ -20,4 +24,10 @@ import java.util.List;
  */
 public interface IMeterBaseCalibraNumRelService extends IBaseService<MeterBaseCalibraNumRel, String>{
      String checkandadd(List<MeterBaseCalibraNumRel> models);
+
+     String abolish(List<MeterBaseCalibraNumRel> models);
+
+     String addSpotNum(MeterBaseCalibrationNum mbCalibrationNum, MeterBaseSpotInfo mbSpotInfo);
+
+     String updateBymbCalibWeightNo(String calWeightNo,MeterBaseCalibrationNum models);
 }

+ 114 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibranumrel/service/impl/MeterBaseCalibraNumRelServiceImpl.java

@@ -3,15 +3,23 @@ package com.steerinfo.baseinfo.meterbasecalibranumrel.service.impl;
 import com.steerinfo.baseinfo.meterbasecalibranumrel.mapper.MeterBaseCalibraNumRelMapper;
 import com.steerinfo.baseinfo.meterbasecalibranumrel.model.MeterBaseCalibraNumRel;
 import com.steerinfo.baseinfo.meterbasecalibranumrel.service.IMeterBaseCalibraNumRelService;
+import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation;
+import com.steerinfo.baseinfo.meterbasecalibrationnum.model.MeterBaseCalibrationNum;
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.framework.utils.base.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * MeterBaseCalibraNumRel服务实现:
@@ -58,4 +66,110 @@ public class MeterBaseCalibraNumRelServiceImpl extends BaseServiceImpl<MeterBase
         }
         return "";
     }
+
+    @Override
+    public String abolish(List<MeterBaseCalibraNumRel> models) {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibraNumRel model:models) {
+                model.setRelationNo(model.getRelationNo());
+                model.setValidFlag("0");
+                model.setUpdateTime(new Date());
+
+                meterBaseCalibraNumRelMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String addSpotNum(MeterBaseCalibrationNum mbCalibrationNum, MeterBaseSpotInfo mbSpotInfo) {
+
+        MeterBaseCalibraNumRel mbCalibrationNumRel = new MeterBaseCalibraNumRel();
+
+        Assert.isTrue(StringUtils.isNotBlank(mbSpotInfo.getBaseSpotNo()),"计量点编号不能为空,请选择一条计量点数据!");
+        mbCalibrationNumRel.setBaseSpotNo(mbSpotInfo.getBaseSpotNo());
+        Assert.isTrue(StringUtils.isNotBlank(mbSpotInfo.getBaseSpotName()),"计量点名称不能为空!");
+        mbCalibrationNumRel.setBaseSpotName(mbSpotInfo.getBaseSpotName());
+
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getCalibrationNumNo()),"校称重量编号不能为空,请选择一条校称重量配置数据!");
+        mbCalibrationNumRel.setCalibrationNumNo(mbCalibrationNum.getCalibrationNumNo());
+        //Assert.isTrue(!Objects.isNull(mbCalibrationNum.getCalibrationNum()),"校称有效次数不能为空!");
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getCalibrationNum().toString()),"校称有效次数不能为空!");
+        mbCalibrationNumRel.setCalibrationNum(mbCalibrationNum.getCalibrationNum());
+
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getSpotTypeNo()),"计量点类型编号不能为空!");
+        mbCalibrationNumRel.setSpotTypeNo(mbCalibrationNum.getSpotTypeNo());
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getSpotTypeName()),"计量点类型名称不能为空!");
+        mbCalibrationNumRel.setSpotTypeName(mbCalibrationNum.getSpotTypeName());
+
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getCalibrationTypeNo()),"校称类型编号不能为空!");
+        mbCalibrationNumRel.setCalibrationTypeNo(mbCalibrationNum.getCalibrationTypeNo());
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getCalibrationTypeName()),"校称类型名称不能为空!");
+        mbCalibrationNumRel.setCalibrationTypeName(mbCalibrationNum.getCalibrationTypeName());
+        if(mbCalibrationNum.getCalibrationTypeName().equals("互检")){
+            Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getMutualStrategyNo()),"校称类型为“互检”情况下,必须选择校称策略,校称策略编码不能为空!");
+            mbCalibrationNumRel.setMutualStrategyNo(mbCalibrationNum.getMutualStrategyNo());
+            Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getMutualStrategyName()),"校称类型为“互检”情况下,必须选择校称策略,校称策略名称不能为空!");
+            mbCalibrationNumRel.setMutualStrategyName(mbCalibrationNum.getMutualStrategyName());
+        }
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getUpWeight().toString()),"可允许的重量上限不能为空!");
+        mbCalibrationNumRel.setUpWeight(mbCalibrationNum.getUpWeight());
+        Assert.isTrue(StringUtils.isNotBlank(mbCalibrationNum.getIsMeter()),"是否允许计量不能为空!");
+        mbCalibrationNumRel.setIsMeter(mbCalibrationNum.getIsMeter());
+
+        String no = meterBaseCalibraNumRelMapper.GetNewID();
+        //mtCalibraRelation.setId(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
+        mbCalibrationNumRel.setRelationNo(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
+        mbCalibrationNumRel.setValidFlag("1");
+        ////设置创建人、创建时间
+        mbCalibrationNumRel.setCreateManNo(mbCalibrationNum.getCreateManNo());
+        mbCalibrationNumRel.setCreateManName(mbCalibrationNum.getCreateManName());
+        mbCalibrationNumRel.setCreateTime(new Date());
+
+        meterBaseCalibraNumRelMapper.insertSelective(mbCalibrationNumRel);
+
+        return "";
+    }
+
+    @Override
+    public String updateBymbCalibWeightNo(String calWeightNo, MeterBaseCalibrationNum models) {
+        try{
+            if (StringUtils.isEmpty(calWeightNo) && (calWeightNo == models.getCalibrationNumNo())){
+                return "校称重量编号不能为空";
+            }
+            List<MeterBaseCalibraNumRel> mbCalibNumRels=meterBaseCalibraNumRelMapper.selectByCalibWeightNo(calWeightNo);
+            for (MeterBaseCalibraNumRel mbCalibNumRel:mbCalibNumRels){
+                if (StringUtils.isEmpty(mbCalibNumRel.getRelationNo())){
+                    return "关联数据不存在!";
+                }else{
+                    mbCalibNumRel.setCalibrationNum(models.getCalibrationNum());
+                    mbCalibNumRel.setCalibrationTypeNo(models.getCalibrationTypeNo());
+                    mbCalibNumRel.setCalibrationTypeName(models.getCalibrationTypeName());
+                    mbCalibNumRel.setSpotTypeNo(models.getSpotTypeNo());
+                    mbCalibNumRel.setSpotTypeName(models.getSpotTypeName());
+                    mbCalibNumRel.setMutualStrategyNo(models.getMutualStrategyNo());
+                    mbCalibNumRel.setMutualStrategyName(models.getMutualStrategyName());
+                    mbCalibNumRel.setIsMeter(models.getIsMeter());
+                    mbCalibNumRel.setUpWeight(models.getUpWeight());
+                    mbCalibNumRel.setIsMeter(models.getIsMeter());
+                    meterBaseCalibraNumRelMapper.updateByPrimaryKey(mbCalibNumRel);
+                }
+            }
+
+        }catch (Exception ex){
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return  "";
+    }
+
+
 }

+ 106 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/controller/MeterBaseCalibraRelationController.java

@@ -1,5 +1,7 @@
 package com.steerinfo.baseinfo.meterbasecalibrarelation.controller;
 
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
@@ -8,6 +10,7 @@ import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRel
 import com.steerinfo.baseinfo.meterbasecalibrarelation.service.IMeterBaseCalibraRelationService;
 import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.util.StringUtils;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -36,12 +39,13 @@ import java.util.ArrayList;
  */
 @RestController
 @RequestMapping("/${api.version}/meterbasecalibrarelations")
+@Api(value = "/${api.version}/meterbasecalibrarelations", tags = "校秤时间关联配置 - MeterBaseCalibraRelationController")
 public class MeterBaseCalibraRelationController extends BaseRESTfulController {
 
     @Autowired
     IMeterBaseCalibraRelationService meterBaseCalibraRelationService;
 
-    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
+    @ApiOperation(value = "获取列表", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -54,7 +58,19 @@ public class MeterBaseCalibraRelationController extends BaseRESTfulController {
             return success(list);
         } catch (Exception ex) {
            ex.printStackTrace();
-throw new MarkerMetException(500, "操作异常!!");
+           throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
+    @ApiOperation(value = "获取列表", notes = "不分页查询")
+    @GetMapping(value = "/noPage")
+    public RESTfulResult listall(@RequestParam HashMap parmas) {
+        try {
+            List<MeterBaseCalibraRelation> list = meterBaseCalibraRelationService.queryall(parmas);
+            return success(list);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
@@ -75,7 +91,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibraRelation对象创建")
+    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibraRelation对象创建")
     @ApiImplicitParam(name = "meterBaseCalibraRelation", value = "详细实体meterBaseCalibraRelation", required = true, dataType = "MeterBaseCalibraRelation")
     //@RequiresPermissions("meterbasecalibrarelation:create")
     @Transactional
@@ -127,7 +143,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "删除-网页", notes = "根据url的实体集来指定删除对象")
+    @ApiOperation(value = "删除", notes = "根据url的实体集来指定删除对象")
     @ApiImplicitParam(name = "MeterBaseCalibraRelation", value = "详细实体MeterBaseCalibraRelation", required = true, dataType = "MeterBaseCalibraRelation")
     @PutMapping(value = "/")
     public RESTfulResult delete(@RequestBody List<MeterBaseCalibraRelation> models) {
@@ -145,4 +161,90 @@ throw new MarkerMetException(500, "操作异常!!");
 throw new MarkerMetException(500, "操作异常!!");
         }
     }
+
+    @ApiOperation(value = "新增计量点校称时间", notes = "根据MeterBaseCalibrationTime,MeterBaseSpotInfo对象创建")
+    //@ApiImplicitParams({
+    //        @ApiImplicitParam(name = "meterBaseSpotInfo", value = "详细实体meterBaseSpotInfo", required = true, dataType = "MeterBaseSpotInfo"),
+    //        @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
+    //})
+    @Transactional
+    @PostMapping(value = "/addSpotTime1")
+    public RESTfulResult addSpotTime1(@RequestBody MeterBaseCalibrationTime mbCalibrationTime, @RequestBody MeterBaseSpotInfo mbSpotInfo) {
+        try {
+            String msg = meterBaseCalibraRelationService.addSpotTime(mbCalibrationTime,mbSpotInfo);
+            if (msg != null && !msg.equals("")) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "新增计量点校称时间", notes = "根据MeterBaseCalibrationTime,MeterBaseSpotInfo对象创建")
+    @Transactional
+    @PostMapping(value = "/addSpotTime")
+    public RESTfulResult addSpotTime(@RequestBody MeterBaseCalibrationTime mbCalibrationTime, @RequestParam(required = true) String baseSpotNo,@RequestParam(required = true) String baseSpotName) {
+        try {
+            MeterBaseSpotInfo mbSpotInfo = new MeterBaseSpotInfo();
+            mbSpotInfo.setBaseSpotNo(baseSpotNo);
+            mbSpotInfo.setBaseSpotName(baseSpotName);
+            String msg = meterBaseCalibraRelationService.addSpotTime(mbCalibrationTime,mbSpotInfo);
+            if (msg != null && !msg.equals("")) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+
+    @ApiOperation(value = "废除标识符", notes = "根据传过来的MeterBaseCalibraRelation集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCalibraRelation", value = "详细实体MeterBaseCalibraRelation", required = true, dataType = "MeterBaseCalibraRelation")
+    })
+    //@RequiresPermissions("combaseinfo:update")
+    @Transactional
+    @PostMapping(value = "/abolish")
+    public RESTfulResult abolish(@RequestBody List<MeterBaseCalibraRelation> models) {
+        try {
+            String msg = meterBaseCalibraRelationService.abolish(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+
+    @ApiOperation(value = "按校称时间编号修改计量点校称时间", notes = "根据传过来的MeterBaseCalibrationTime集合信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "MeterBaseCalibrationTime", value = "详细实体MeterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
+    })
+    @Transactional
+    @PostMapping(value = "/updateBymbCalibTimeNo")
+    public RESTfulResult updateBymbCalibTimeNo(@RequestParam(required = true) String calTimeNo,@RequestBody MeterBaseCalibrationTime models) {
+        try {
+            String msg = meterBaseCalibraRelationService.updateBymbCalibTimeNo(calTimeNo,models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+
 }

+ 2 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/mapper/MeterBaseCalibraRelationMapper.java

@@ -14,4 +14,6 @@ public interface MeterBaseCalibraRelationMapper extends IBaseMapper<MeterBaseCal
      List<MeterBaseCalibraRelation> doQueryCalibrationWf(@Param(value = "baseSpotNo") String baseSpotNo);
 
      List<MeterBaseCalibraRelation> doQueryCalibrationNeedWf(@Param(value = "baseSpotNo") String baseSpotNo);
+
+     List<MeterBaseCalibraRelation> selectByCalibTimeNo(String calTimeNo);
 }

+ 219 - 7
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/mapper/MeterBaseCalibraRelationMapper.xml

@@ -14,16 +14,26 @@
     <result column="CREATE_MAN_NO" jdbcType="VARCHAR" property="createManNo" />
     <result column="CREATE_MAN_NAME" jdbcType="VARCHAR" property="createManName" />
     <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="VALID_FLAG" jdbcType="VARCHAR" property="validFlag" />
+    <result column="UPDATE_MAN_NO" jdbcType="OTHER" property="updateManNo" />
+    <result column="UPDATE_MAN_NAME" jdbcType="VARCHAR" property="updateManName" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="DELETE_MAN_NO" jdbcType="VARCHAR" property="deleteManNo" />
+    <result column="DELETE_MAN_NAME" jdbcType="VARCHAR" property="deleteManName" />
+    <result column="DELETE_TIME" jdbcType="TIMESTAMP" property="deleteTime" />
+    <result column="CALIBRATION_TIME_NO" jdbcType="VARCHAR" property="calibrationTimeNo" />
   </resultMap>
   <sql id="columns">
     RELATION_NO, BASE_SPOT_NO, BASE_SPOT_NAME, CALIBRATION_TIME_UNIT, START_TIME, END_TIME, 
     DAY_NUM, CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME, CREATE_MAN_NO, CREATE_MAN_NAME, 
-    CREATE_TIME
+    CREATE_TIME, VALID_FLAG, UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME, DELETE_MAN_NO,
+    DELETE_MAN_NAME, DELETE_TIME, CALIBRATION_TIME_NO
   </sql>
   <sql id="columns_alias">
     t.RELATION_NO, t.BASE_SPOT_NO, t.BASE_SPOT_NAME, t.CALIBRATION_TIME_UNIT, t.START_TIME, 
     t.END_TIME, t.DAY_NUM, t.CALIBRATION_TYPE_NO, t.CALIBRATION_TYPE_NAME, t.CREATE_MAN_NO, 
-    t.CREATE_MAN_NAME, t.CREATE_TIME
+    t.CREATE_MAN_NAME, t.CREATE_TIME, t.VALID_FLAG, t.UPDATE_MAN_NO, t.UPDATE_MAN_NAME,
+    t.UPDATE_TIME, t.DELETE_MAN_NO, t.DELETE_MAN_NAME, t.DELETE_TIME, t.CALIBRATION_TIME_NO
   </sql>
   <sql id="select">
     SELECT <include refid="columns"/> FROM METER_BASE_CALIBRA_RELATION
@@ -69,6 +79,30 @@
       <if test="createTime != null">
         and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
       </if>
+      <if test="validFlag != null and validFlag != ''">
+        and VALID_FLAG = #{validFlag}
+      </if>
+      <if test="updateManNo != null">
+        and UPDATE_MAN_NO = #{updateManNo}
+      </if>
+      <if test="updateManName != null and updateManName != ''">
+        and UPDATE_MAN_NAME = #{updateManName}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="deleteManNo != null and deleteManNo != ''">
+        and DELETE_MAN_NO = #{deleteManNo}
+      </if>
+      <if test="deleteManName != null and deleteManName != ''">
+        and DELETE_MAN_NAME = #{deleteManName}
+      </if>
+      <if test="deleteTime != null">
+        and TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = #{deleteTime}
+      </if>
+      <if test="calibrationTimeNo != null and calibrationTimeNo != ''">
+        and CALIBRATION_TIME_NO = #{calibrationTimeNo}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -109,6 +143,30 @@
       <if test="createTime != null">
         and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
       </if>
+      <if test="validFlag != null and validFlag != ''">
+        and VALID_FLAG LIKE '%${validFlag}%'
+      </if>
+      <if test="updateManNo != null">
+        and UPDATE_MAN_NO = #{updateManNo}
+      </if>
+      <if test="updateManName != null and updateManName != ''">
+        and UPDATE_MAN_NAME LIKE '%${updateManName}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="deleteManNo != null and deleteManNo != ''">
+        and DELETE_MAN_NO LIKE '%${deleteManNo}%'
+      </if>
+      <if test="deleteManName != null and deleteManName != ''">
+        and DELETE_MAN_NAME LIKE '%${deleteManName}%'
+      </if>
+      <if test="deleteTime != null">
+        and TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = #{deleteTime}
+      </if>
+      <if test="calibrationTimeNo != null and calibrationTimeNo != ''">
+        and CALIBRATION_TIME_NO LIKE '%${calibrationTimeNo}%'
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
@@ -151,17 +209,47 @@
       <if test="createTime != null">
         or TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = '#{createTime}'
       </if>
+      <if test="validFlag != null and validFlag != ''">
+        or VALID_FLAG = #{validFlag}
+      </if>
+      <if test="updateManNo != null">
+        or UPDATE_MAN_NO = #{updateManNo}
+      </if>
+      <if test="updateManName != null and updateManName != ''">
+        or UPDATE_MAN_NAME = #{updateManName}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="deleteManNo != null and deleteManNo != ''">
+        or DELETE_MAN_NO = #{deleteManNo}
+      </if>
+      <if test="deleteManName != null and deleteManName != ''">
+        or DELETE_MAN_NAME = #{deleteManName}
+      </if>
+      <if test="deleteTime != null">
+        or TO_CHAR(DELETE_TIME,'yyyy-MM-dd') = '#{deleteTime}'
+      </if>
+    <if test="calibrationTimeNo != null and calibrationTimeNo != ''">
+      or CALIBRATION_TIME_NO = #{calibrationTimeNo}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation">
     insert into METER_BASE_CALIBRA_RELATION (RELATION_NO, BASE_SPOT_NO, BASE_SPOT_NAME, 
       CALIBRATION_TIME_UNIT, START_TIME, END_TIME, 
       DAY_NUM, CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME, 
-      CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME
+      CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME,
+      VALID_FLAG, UPDATE_MAN_NO, UPDATE_MAN_NAME,
+      UPDATE_TIME, DELETE_MAN_NO, DELETE_MAN_NAME,
+      DELETE_TIME, CALIBRATION_TIME_NO)
       )
     values (#{relationNo,jdbcType=VARCHAR}, #{baseSpotNo,jdbcType=VARCHAR}, #{baseSpotName,jdbcType=VARCHAR}, 
       #{calibrationTimeUnit,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, 
       #{dayNum,jdbcType=DECIMAL}, #{calibrationTypeNo,jdbcType=VARCHAR}, #{calibrationTypeName,jdbcType=VARCHAR}, 
-      #{createManNo,jdbcType=VARCHAR}, #{createManName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}
+      #{createManNo,jdbcType=VARCHAR}, #{createManName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
+      #{validFlag,jdbcType=VARCHAR}, #{updateManNo,jdbcType=OTHER}, #{updateManName,jdbcType=VARCHAR},
+      #{updateTime,jdbcType=TIMESTAMP}, #{deleteManNo,jdbcType=VARCHAR}, #{deleteManName,jdbcType=VARCHAR},
+      #{deleteTime,jdbcType=TIMESTAMP}, #{calibrationTimeNo,jdbcType=VARCHAR})
       )
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation">
@@ -203,6 +291,30 @@
       <if test="createTime != null">
         CREATE_TIME,
       </if>
+      <if test="validFlag != null">
+        VALID_FLAG,
+      </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO,
+      </if>
+      <if test="updateManName != null">
+        UPDATE_MAN_NAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="deleteManNo != null">
+        DELETE_MAN_NO,
+      </if>
+      <if test="deleteManName != null">
+        DELETE_MAN_NAME,
+      </if>
+      <if test="deleteTime != null">
+        DELETE_TIME,
+      </if>
+      <if test="calibrationTimeNo != null">
+        CALIBRATION_TIME_NO,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="relationNo != null">
@@ -241,6 +353,30 @@
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="validFlag != null">
+        #{validFlag,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManNo != null">
+        #{updateManNo,jdbcType=OTHER},
+      </if>
+      <if test="updateManName != null">
+        #{updateManName,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deleteManNo != null">
+        #{deleteManNo,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteManName != null">
+        #{deleteManName,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteTime != null">
+        #{deleteTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="calibrationTimeNo != null">
+        #{calibrationTimeNo,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation">
@@ -255,7 +391,15 @@
       CALIBRATION_TYPE_NAME = #{calibrationTypeName,jdbcType=VARCHAR},
       CREATE_MAN_NO = #{createManNo,jdbcType=VARCHAR},
       CREATE_MAN_NAME = #{createManName,jdbcType=VARCHAR},
-      CREATE_TIME = #{createTime,jdbcType=TIMESTAMP}
+      CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
+      VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
+      UPDATE_MAN_NO = #{updateManNo,jdbcType=OTHER},
+      UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      DELETE_MAN_NO = #{deleteManNo,jdbcType=VARCHAR},
+      DELETE_MAN_NAME = #{deleteManName,jdbcType=VARCHAR},
+      DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP},
+      CALIBRATION_TIME_NO = #{calibrationTimeNo,jdbcType=VARCHAR}
     where RELATION_NO = #{relationNo,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation">
@@ -294,6 +438,30 @@
       <if test="createTime != null">
         CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="validFlag != null">
+        VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
+      </if>
+      <if test="updateManNo != null">
+        UPDATE_MAN_NO = #{updateManNo,jdbcType=OTHER},
+      </if>
+      <if test="updateManName != null">
+        UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="deleteManNo != null">
+        DELETE_MAN_NO = #{deleteManNo,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteManName != null">
+        DELETE_MAN_NAME = #{deleteManName,jdbcType=VARCHAR},
+      </if>
+      <if test="deleteTime != null">
+        DELETE_TIME = #{deleteTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="calibrationTimeNo != null">
+        CALIBRATION_TIME_NO = #{calibrationTimeNo,jdbcType=VARCHAR},
+      </if>
     </set>
     where RELATION_NO = #{relationNo,jdbcType=VARCHAR}
   </update>
@@ -317,7 +485,10 @@
       BASE_SPOT_NO, BASE_SPOT_NAME, CALIBRATION_TIME_UNIT, 
       START_TIME, END_TIME, DAY_NUM, 
       CALIBRATION_TYPE_NO, CALIBRATION_TYPE_NAME, 
-      CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME
+      CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME,
+    VALID_FLAG, UPDATE_MAN_NO, UPDATE_MAN_NAME,
+    UPDATE_TIME, DELETE_MAN_NO, DELETE_MAN_NAME,
+    DELETE_TIME, CALIBRATION_TIME_NO)
       )
     ( <foreach collection="list" item="item" separator="union all"> 
    select  
@@ -325,7 +496,10 @@
       #{item.baseSpotNo,jdbcType=VARCHAR}, #{item.baseSpotName,jdbcType=VARCHAR}, #{item.calibrationTimeUnit,jdbcType=VARCHAR}, 
       #{item.startTime,jdbcType=TIMESTAMP}, #{item.endTime,jdbcType=TIMESTAMP}, #{item.dayNum,jdbcType=DECIMAL}, 
       #{item.calibrationTypeNo,jdbcType=VARCHAR}, #{item.calibrationTypeName,jdbcType=VARCHAR}, 
-      #{item.createManNo,jdbcType=VARCHAR}, #{item.createManName,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}
+      #{item.createManNo,jdbcType=VARCHAR}, #{item.createManName,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP},
+    #{item.validFlag,jdbcType=VARCHAR}, #{item.updateManNo,jdbcType=OTHER}, #{item.updateManName,jdbcType=VARCHAR},
+    #{item.updateTime,jdbcType=TIMESTAMP}, #{item.deleteManNo,jdbcType=VARCHAR}, #{item.deleteManName,jdbcType=VARCHAR},
+    #{item.deleteTime,jdbcType=TIMESTAMP, #{item.calibrationTimeNo,jdbcType=VARCHAR}}
        from dual  
    </foreach> )
   </insert>
@@ -380,6 +554,38 @@
        <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
           when #{item.relationNo,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
        </foreach>
+      ,VALID_FLAG=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.validFlag,jdbcType=VARCHAR}
+      </foreach>
+      ,UPDATE_MAN_NO=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateManNo,jdbcType=OTHER}
+      </foreach>
+      ,UPDATE_MAN_NAME=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateManName,jdbcType=VARCHAR}
+      </foreach>
+      ,UPDATE_TIME=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
+      </foreach>
+      ,DELETE_MAN_NO=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.deleteManNo,jdbcType=VARCHAR}
+      </foreach>
+      ,DELETE_MAN_NAME=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.deleteManName,jdbcType=VARCHAR}
+      </foreach>
+      ,DELETE_TIME=
+      <foreach collection="list" item="item" index="index" separator=" " open="case RELATION_NO" close="end">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.deleteTime,jdbcType=TIMESTAMP}
+      </foreach>
+      ,CALIBRATION_TIME_NO=
+      <foreach close="end" collection="list" index="index" item="item" open="case RELATION_NO" separator=" ">
+        when #{item.relationNo,jdbcType=VARCHAR} then #{item.calibrationTimeNo,jdbcType=VARCHAR}
+      </foreach>
      where RELATION_NO in 
      <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
     #{item.relationNo,jdbcType=VARCHAR}
@@ -432,4 +638,10 @@
                         'yyyy-MM-dd HH24:mi:ss') or
                t2.calibration_time_unit = '0')
   </select>
+  <select id="selectByCalibTimeNo" parameterType="java.lang.String" resultMap="BaseResultMap">
+   select t2.*
+          from METER_BASE_CALIBRA_RELATION t2
+         where t2.calibration_time_no =  #{calibrationTimeNo,jdbcType=VARCHAR}
+           and t2.valid_flag = '1'
+  </select>
 </mapper>

+ 120 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/model/MeterBaseCalibraRelation.java

@@ -77,6 +77,54 @@ public class MeterBaseCalibraRelation implements IBasePO<String> {
     @ApiModelProperty(value="创建时间",required=true)
     private Date createTime;
 
+    /**
+     * 状态(0:无效;1:有效)(VALID_FLAG,VARCHAR,1)
+     */
+    @ApiModelProperty(value="状态(0:无效;1:有效)",required=false)
+    private String validFlag;
+
+    /**
+     * 修改人编号(UPDATE_MAN_NO,OTHER,20)
+     */
+    @ApiModelProperty(value="修改人编号",required=false)
+    private Object updateManNo;
+
+    /**
+     * 修改人姓名(UPDATE_MAN_NAME,VARCHAR,30)
+     */
+    @ApiModelProperty(value="修改人姓名",required=false)
+    private String updateManName;
+
+    /**
+     * 修改时间(YYYY-MM-DD HH:mm:SS)(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="修改时间(YYYY-MM-DD HH:mm:SS)",required=false)
+    private Date updateTime;
+
+    /**
+     * 删除人编号(DELETE_MAN_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="删除人编号",required=false)
+    private String deleteManNo;
+
+    /**
+     * 删除人姓名(DELETE_MAN_NAME,VARCHAR,30)
+     */
+    @ApiModelProperty(value="删除人姓名",required=false)
+    private String deleteManName;
+
+    /**
+     * 删除时间(YYYY-MM-DD HH:mm:SS)(DELETE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="删除时间(YYYY-MM-DD HH:mm:SS)",required=false)
+    private Date deleteTime;
+
+    /**
+     * 校秤时间编号(YYYYMMDD+4位流水)(CALIBRATION_TIME_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="校秤时间编号(YYYYMMDD+4位流水)",required=false)
+    private String calibrationTimeNo;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -185,6 +233,70 @@ public class MeterBaseCalibraRelation implements IBasePO<String> {
         this.createTime = createTime;
     }
 
+    public String getValidFlag() {
+        return validFlag;
+    }
+
+    public void setValidFlag(String validFlag) {
+        this.validFlag = validFlag == null ? null : validFlag.trim();
+    }
+
+    public Object getUpdateManNo() {
+        return updateManNo;
+    }
+
+    public void setUpdateManNo(Object updateManNo) {
+        this.updateManNo = updateManNo;
+    }
+
+    public String getUpdateManName() {
+        return updateManName;
+    }
+
+    public void setUpdateManName(String updateManName) {
+        this.updateManName = updateManName == null ? null : updateManName.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getDeleteManNo() {
+        return deleteManNo;
+    }
+
+    public void setDeleteManNo(String deleteManNo) {
+        this.deleteManNo = deleteManNo == null ? null : deleteManNo.trim();
+    }
+
+    public String getDeleteManName() {
+        return deleteManName;
+    }
+
+    public void setDeleteManName(String deleteManName) {
+        this.deleteManName = deleteManName == null ? null : deleteManName.trim();
+    }
+
+    public Date getDeleteTime() {
+        return deleteTime;
+    }
+
+    public void setDeleteTime(Date deleteTime) {
+        this.deleteTime = deleteTime;
+    }
+
+    public String getCalibrationTimeNo() {
+        return calibrationTimeNo;
+    }
+
+    public void setCalibrationTimeNo(String calibrationTimeNo) {
+        this.calibrationTimeNo = calibrationTimeNo == null ? null : calibrationTimeNo.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -203,6 +315,14 @@ public class MeterBaseCalibraRelation implements IBasePO<String> {
         sb.append(", createManNo=").append(createManNo);
         sb.append(", createManName=").append(createManName);
         sb.append(", createTime=").append(createTime);
+        sb.append(", validFlag=").append(validFlag);
+        sb.append(", updateManNo=").append(updateManNo);
+        sb.append(", updateManName=").append(updateManName);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", deleteManNo=").append(deleteManNo);
+        sb.append(", deleteManName=").append(deleteManName);
+        sb.append(", deleteTime=").append(deleteTime);
+        sb.append(", calibrationTimeNo=").append(calibrationTimeNo);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 11 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/service/IMeterBaseCalibraRelationService.java

@@ -1,9 +1,12 @@
 package com.steerinfo.baseinfo.meterbasecalibrarelation.service;
 
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * MeterBaseCalibraRelation服务接口:
@@ -22,4 +25,12 @@ public interface IMeterBaseCalibraRelationService extends IBaseService<MeterBase
 
         String checkandadd(List<MeterBaseCalibraRelation> models);
 
+
+        String addSpotTime(MeterBaseCalibrationTime mbCalibrationTime, MeterBaseSpotInfo mbSpotInfo);
+
+        List<MeterBaseCalibraRelation> queryall(Map<String,Object> parmas);
+
+        String abolish(List<MeterBaseCalibraRelation> models);
+
+        String updateBymbCalibTimeNo(String calTimeNo,MeterBaseCalibrationTime models);
 }

+ 145 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrarelation/service/impl/MeterBaseCalibraRelationServiceImpl.java

@@ -1,17 +1,25 @@
 package com.steerinfo.baseinfo.meterbasecalibrarelation.service.impl;
 
 
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbasecalibrarelation.model.MeterBaseCalibraRelation;
 import com.steerinfo.baseinfo.meterbasecalibrarelation.mapper.MeterBaseCalibraRelationMapper;
 import com.steerinfo.baseinfo.meterbasecalibrarelation.service.IMeterBaseCalibraRelationService;
+import com.steerinfo.framework.user.UserPayload;
+import com.steerinfo.framework.utils.base.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * MeterBaseCalibraRelation服务实现:
@@ -59,4 +67,141 @@ public class MeterBaseCalibraRelationServiceImpl extends BaseServiceImpl<MeterBa
         return "";
     }
 
+    @Override
+    public String addSpotTime(MeterBaseCalibrationTime mbCalibrationTime, MeterBaseSpotInfo mbSpotInfo) {
+
+        MeterBaseCalibraRelation mtCalibraRelation = new MeterBaseCalibraRelation();
+
+        if (mbSpotInfo == null ) {
+            return "请选择计量点";
+        }
+        if (StringUtils.isEmpty(mbSpotInfo.getBaseSpotNo())) {
+            return "计量点编号不能为空";
+        }else{
+            mtCalibraRelation.setBaseSpotNo(mbSpotInfo.getBaseSpotNo());
+        }
+        if (StringUtils.isEmpty(mbSpotInfo.getBaseSpotName())) {
+            return "计量点名称不能为空";
+        }else{
+            mtCalibraRelation.setBaseSpotName(mbSpotInfo.getBaseSpotName());
+        }
+
+
+        if (mbCalibrationTime == null){
+            return "请选择校称时间标准";
+        }
+        Integer validFlag = Integer.parseInt(mbCalibrationTime.getValidFlag());
+        if (validFlag == 0){
+            return "校称时间不能选择已经废弃的数据,请选择状态是'启用'的校称时间";
+        }
+        if (StringUtils.isEmpty(mbCalibrationTime.getCalibrationTimeNo())) {
+            return "校称时间编号不能为空";
+        }else{
+            mtCalibraRelation.setCalibrationTimeNo(mbCalibrationTime.getCalibrationTimeNo());
+        }
+        if (StringUtils.isEmpty(mbCalibrationTime.getCalibrationTimeUnit())) {
+            return "校称时间单位不能为空";
+        }else{
+            mtCalibraRelation.setCalibrationTimeUnit(mbCalibrationTime.getCalibrationTimeUnit());
+        }
+        if (mbCalibrationTime.getStartTime() == null) {
+            System.out.println("#################################3");
+            System.out.println(mbCalibrationTime.getStartTime());
+            return "校称开始时间不能为空";
+        }else{
+            mtCalibraRelation.setStartTime(mbCalibrationTime.getStartTime());
+        }
+        if (mbCalibrationTime.getEndTime() == null) {
+            return "校称结束时间不能为空";
+        }else{
+            mtCalibraRelation.setEndTime(mbCalibrationTime.getEndTime());
+        }
+        if (mbCalibrationTime.getDayNum() == null) {
+            return "校称天数不能为空";
+        }else{
+            mtCalibraRelation.setDayNum(mbCalibrationTime.getDayNum());
+        }
+        if (StringUtils.isEmpty(mbCalibrationTime.getCalibrationTypeNo())) {
+            return "校称类型编号不能为空";
+        }else{
+            mtCalibraRelation.setCalibrationTypeNo(mbCalibrationTime.getCalibrationTypeNo());
+        }
+        if (StringUtils.isEmpty(mbCalibrationTime.getCalibrationTypeName())) {
+            return "校称类型名称不能为空";
+        }else{
+            mtCalibraRelation.setCalibrationTypeName(mbCalibrationTime.getCalibrationTypeName());
+        }
+
+        String no = meterBaseCalibraRelationMapper.GetNewID();
+        //mtCalibraRelation.setId(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
+        mtCalibraRelation.setRelationNo(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
+        mtCalibraRelation.setValidFlag("1");
+        ////设置创建人、创建时间
+        mtCalibraRelation.setCreateManNo(mbCalibrationTime.getCreateManNo());
+        mtCalibraRelation.setCreateManName(mbCalibrationTime.getCreateManName());
+        mtCalibraRelation.setCreateTime(new Date());
+
+        meterBaseCalibraRelationMapper.insertSelective(mtCalibraRelation);
+
+        return "";
+    }
+
+    @Override
+    public List<MeterBaseCalibraRelation> queryall(Map<String,Object> parmas)
+    {
+        return meterBaseCalibraRelationMapper.selectByParameters(parmas);
+    }
+
+    @Override
+    public String abolish(List<MeterBaseCalibraRelation> models) {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibraRelation model:models) {
+                model.setRelationNo(model.getRelationNo());
+                model.setValidFlag("0");
+                model.setDeleteTime(new Date());
+
+                meterBaseCalibraRelationMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String updateBymbCalibTimeNo(String calTimeNo,MeterBaseCalibrationTime models) {
+        try{
+                if (StringUtils.isEmpty(calTimeNo) && (calTimeNo == models.getCalibrationTimeNo())){
+                    return "校称时间编号不能为空";
+                }
+                List<MeterBaseCalibraRelation> mbCalibRelations=meterBaseCalibraRelationMapper.selectByCalibTimeNo(calTimeNo);
+                for (MeterBaseCalibraRelation mbCalibRelation:mbCalibRelations){
+                    if (StringUtils.isEmpty(mbCalibRelation.getRelationNo())){
+                        return "关联数据不存在!";
+                    }else{
+                        mbCalibRelation.setCalibrationTimeUnit(models.getCalibrationTimeUnit());
+                        mbCalibRelation.setStartTime(models.getStartTime());
+                        mbCalibRelation.setEndTime(models.getEndTime());
+                        mbCalibRelation.setDayNum(models.getDayNum());
+                        mbCalibRelation.setCalibrationTypeNo(models.getCalibrationTypeNo());
+                        mbCalibRelation.setCalibrationTypeName(models.getCalibrationTypeName());
+                        mbCalibRelation.setUpdateManNo(models.getUpdateManNo());
+                        mbCalibRelation.setUpdateManName(models.getUpdateManName());
+                        meterBaseCalibraRelationMapper.updateByPrimaryKey(mbCalibRelation);
+                    }
+                }
+
+            }catch (Exception ex){
+                ex.printStackTrace();
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return "操作异常,请联系管理员";
+            }
+        return  "";
+    }
+
 }

+ 44 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/controller/MeterBaseCalibrationNumController.java

@@ -1,5 +1,6 @@
 package com.steerinfo.baseinfo.meterbasecalibrationnum.controller;
 
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
@@ -44,7 +45,7 @@ public class MeterBaseCalibrationNumController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibrationNumService meterBaseCalibrationNumService;
 
-    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
+    @ApiOperation(value = "获取列表", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -78,7 +79,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibrationNum对象创建")
+    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibrationNum对象创建")
     @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
     //@RequiresPermissions("meterbasecalibrationnum:create")
     @Transactional
@@ -112,7 +113,7 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
-    @ApiOperation(value = "更新详细信息-网页", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationNum信息来更新详细信息")
+    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationNum信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
             @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
@@ -148,7 +149,7 @@ throw new MarkerMetException(500, "操作异常!!");
         return success();
     }
 
-    @ApiOperation(value = "批量删除-网页", notes = "根据url的MeterBaseCalibrationNum来指定删除对象")
+    @ApiOperation(value = "批量删除", notes = "根据url的MeterBaseCalibrationNum来指定删除对象")
     @ApiImplicitParam(name = "meterBaseCalibrationNum", value = "详细实体meterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
     //@RequiresPermissions("meterbasecalibrationtime:delete")
     @PutMapping(value = "/")
@@ -162,4 +163,43 @@ throw new MarkerMetException(500, "操作异常!!");
         meterBaseCalibrationNumService.delete(ids);
         return success();
     }
+
+    @ApiOperation(value = "启用标识符", notes = "根据传过来的MeterBaseCalibrationNum集合信息来更新详细信息")
+    @Transactional
+    @PostMapping(value = "/Recovery")
+    public RESTfulResult recovery(@RequestBody List<MeterBaseCalibrationNum> models) {
+        try {
+            String msg = meterBaseCalibrationNumService.recovery(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "废除标识符", notes = "根据传过来的MeterBaseCalibrationNum集合信息来更新详细信息")
+    @ApiImplicitParams({
+
+            @ApiImplicitParam(name = "MeterBaseCalibrationNum", value = "详细实体MeterBaseCalibrationNum", required = true, dataType = "MeterBaseCalibrationNum")
+    })
+    //@RequiresPermissions("combaseinfo:update")
+    @Transactional
+    @PostMapping(value = "/abolish")
+    public RESTfulResult abolish(@RequestBody List<MeterBaseCalibrationNum> models) {
+        try {
+            String msg = meterBaseCalibrationNumService.abolish(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
 }

+ 7 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/service/IMeterBaseCalibrationNumService.java

@@ -1,8 +1,11 @@
 package com.steerinfo.baseinfo.meterbasecalibrationnum.service;
 
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasecalibrationnum.model.MeterBaseCalibrationNum;
 
+import java.util.List;
+
 /**
  * MeterBaseCalibrationNum服务接口:
  * @author generator
@@ -20,4 +23,8 @@ public interface IMeterBaseCalibrationNumService extends IBaseService<MeterBaseC
      String checkandadd(MeterBaseCalibrationNum model)throws  Exception;
 
      String checkandupdate(String id,MeterBaseCalibrationNum model)throws  Exception;
+
+     String recovery(List<MeterBaseCalibrationNum> models);
+
+     String abolish(List<MeterBaseCalibrationNum> models);
 }

+ 95 - 39
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationnum/service/impl/MeterBaseCalibrationNumServiceImpl.java

@@ -1,5 +1,8 @@
 package com.steerinfo.baseinfo.meterbasecalibrationnum.service.impl;
 
+import com.steerinfo.baseinfo.meterbasecalibranumrel.service.impl.MeterBaseCalibraNumRelServiceImpl;
+import com.steerinfo.baseinfo.meterbasecalibrarelation.service.impl.MeterBaseCalibraRelationServiceImpl;
+import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbasecalibrationnum.model.MeterBaseCalibrationNum;
@@ -9,6 +12,7 @@ import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -34,6 +38,9 @@ public class MeterBaseCalibrationNumServiceImpl extends BaseServiceImpl<MeterBas
     @Autowired
     private MeterBaseCalibrationNumMapper meterBaseCalibrationNumMapper;
 
+    @Autowired
+    private MeterBaseCalibraNumRelServiceImpl meterBaseCalibraNumRelService;
+
     @Override
     protected IBaseMapper<MeterBaseCalibrationNum, String> getMapper() {
         return meterBaseCalibrationNumMapper;
@@ -53,54 +60,61 @@ public class MeterBaseCalibrationNumServiceImpl extends BaseServiceImpl<MeterBas
         if (! com.isEmpty()) {
             return model.getCalibrationTypeName()+"与"+model.getSpotTypeName()+"已配置,请直接修改!!";
         }
-        //判断重量上限
-        if (model.getUpWeight() != null) {
-            HashMap<String, Object> obj1 = new HashMap<>();
-            obj.put("validFlag", "0");
-            List<MeterBaseCalibrationNum> com1 = meterBaseCalibrationNumMapper.selectByParameters(obj1);
-            if (com1.get(0).getUpWeight() != model.getUpWeight()){
-                for (MeterBaseCalibrationNum comm : com1){
-                    comm.setIsMeter(model.getIsMeter());
-                    comm.setUpWeight(model.getUpWeight());
-                    meterBaseCalibrationNumMapper.updateByPrimaryKeySelective(comm);
-                }
-            }
-        }
+
         String no= meterBaseCalibrationNumMapper.GetNewID();
         model.setId(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
         meterBaseCalibrationNumMapper.insertSelective(model);
         return "";
     }
 
+    //@Override
+    //public String checkandupdate(String id,MeterBaseCalibrationNum model)
+    //{
+    //    try{
+    //        String msg=check(model);
+    //        if (StringUtils.isNotEmpty(msg)){
+    //            return msg;
+    //        }
+    //        int key1=meterBaseCalibrationNumMapper.updateByPrimaryKey(model);
+    //        Assert.isTrue(key1 == 1,"更新校称时间错误");
+    //        String key2 = meterBaseCalibraNumRelService.updateBymbCalibWeightNo(id, model);
+    //        Assert.isTrue((key2 == null || key2.equals("")),"更新关联表错误"+key2);
+    //    }catch (Exception ex){
+    //        ex.printStackTrace();
+    //        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+    //        return "操作异常,请联系管理员";
+    //    }
+    //    return "";
+    //}
+
 
     @Override
     public String checkandupdate(String id,MeterBaseCalibrationNum model)
     {
-        String msg=check(model);
-        if (StringUtils.isNotEmpty(msg)){
-            return msg;
-        }
-        HashMap<String, Object> obj = new HashMap<>();
-        obj.put("spotTypeNo", model.getSpotTypeNo());
-        obj.put("calibrationTypeNo", model.getCalibrationTypeNo());
-        obj.put("calibrationNumNo", id);
-        List<MeterBaseCalibrationNum> com=meterBaseCalibrationNumMapper.selectForUpdate(obj);
-        if (! com.isEmpty()) {
-            return model.getCalibrationTypeName()+"与"+model.getSpotTypeName()+"已配置,请直接修改!!";
-        }
-        //判断重量上限
-        if (model.getUpWeight() != null) {
-            HashMap<String, Object> obj1 = new HashMap<>();
-            obj.put("validFlag", "0");
-            List<MeterBaseCalibrationNum> com1 = meterBaseCalibrationNumMapper.selectByParameters(obj1);
-            if (com1.get(0).getUpWeight() != model.getUpWeight()){
-                for (MeterBaseCalibrationNum comm : com1){
-                    comm.setUpWeight(model.getUpWeight());
-                    meterBaseCalibrationNumMapper.updateByPrimaryKeySelective(comm);
-                }
+        try{
+            String msg=check(model);
+            if (StringUtils.isNotEmpty(msg)){
+                return msg;
+            }
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("spotTypeNo", model.getSpotTypeNo());
+            obj.put("calibrationTypeNo", model.getCalibrationTypeNo());
+            obj.put("calibrationNumNo", id);
+            List<MeterBaseCalibrationNum> com=meterBaseCalibrationNumMapper.selectForUpdate(obj);
+            if (! com.isEmpty()) {
+                return model.getCalibrationTypeName()+"与"+model.getSpotTypeName()+"已配置,请直接修改!!";
             }
+
+            int key1=meterBaseCalibrationNumMapper.updateByPrimaryKey(model);
+            Assert.isTrue(key1 == 1,"更新校称重量错误");
+            String key2 = meterBaseCalibraNumRelService.updateBymbCalibWeightNo(id, model);
+            Assert.isTrue((key2 == null || key2.equals("")),"更新关联表错误"+key2);
+
+        }catch (Exception ex){
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
         }
-        meterBaseCalibrationNumMapper.updateByPrimaryKey(model);
         return "";
     }
 
@@ -112,14 +126,14 @@ public class MeterBaseCalibrationNumServiceImpl extends BaseServiceImpl<MeterBas
         if(StringUtils.isEmpty(model.getCalibrationTypeNo())){
             return "校秤类型编号不能为空";
         }
-        if(StringUtils.isEmpty(model.getCalibrationTypeNo())){
-            return "校秤类型编号不能为空";
+        if(StringUtils.isEmpty(model.getCalibrationTypeName())){
+            return "校秤类型名称不能为空";
         }
         if(StringUtils.isEmpty(model.getSpotTypeNo())){
             return "计量点类型编号不能为空";
         }
         if(StringUtils.isEmpty(model.getSpotTypeName())){
-            return "计量点类型编号不能为空";
+            return "计量点类型名称不能为空";
         }
         if(StringUtils.isEmpty(model.getCalibrationNumNo())){
             model.setCreateTime(new Date());
@@ -130,4 +144,46 @@ public class MeterBaseCalibrationNumServiceImpl extends BaseServiceImpl<MeterBas
         return "";
     }
 
+    @Override
+    public String recovery(List<MeterBaseCalibrationNum> models) {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibrationNum model:models) {
+                model.setCalibrationNumNo(model.getCalibrationNumNo());
+                model.setValidFlag("1");
+                model.setDeleteTime(new Date());
+
+                meterBaseCalibrationNumMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String abolish(List<MeterBaseCalibrationNum> models)  {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibrationNum model:models) {
+                model.setCalibrationNumNo(model.getCalibrationNumNo());
+                model.setValidFlag("0");
+                model.setDeleteTime(new Date());
+
+                meterBaseCalibrationNumMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
 }

+ 80 - 4
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/controller/MeterBaseCalibrationTimeController.java

@@ -1,5 +1,6 @@
 package com.steerinfo.baseinfo.meterbasecalibrationtime.controller;
 
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
@@ -7,6 +8,7 @@ import com.steerinfo.framework.utils.collection.ListUtils;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.service.IMeterBaseCalibrationTimeService;
 import com.steerinfo.meterwork.except.MarkerMetException;
+import com.steerinfo.util.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -42,7 +44,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
     @Autowired
     IMeterBaseCalibrationTimeService meterBaseCalibrationTimeService;
 
-    @ApiOperation(value = "获取列表-网页", notes = "分页查询")
+    @ApiOperation(value = "获取列表", notes = "分页查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
@@ -59,6 +61,18 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value = "获取列表", notes = "不分页查询")
+    @GetMapping(value = "/noPage")
+    public RESTfulResult listall(@RequestParam HashMap parmas) {
+        try {
+            List<MeterBaseCalibrationTime> list = meterBaseCalibrationTimeService.queryall(parmas);
+            return success(list);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
     @ApiOperation(value = "获取列表", notes = "分页模糊查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
@@ -76,7 +90,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "创建-网页", notes = "根据MeterBaseCalibrationTime对象创建")
+    @ApiOperation(value = "创建", notes = "根据MeterBaseCalibrationTime对象创建")
     @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
     //@RequiresPermissions("meterbasecalibrationtime:create")
     @Transactional
@@ -109,7 +123,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         }
     }
 
-    @ApiOperation(value = "更新详细信息-网页", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationTime信息来更新详细信息")
+    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的meterBaseCalibrationTime信息来更新详细信息")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
             @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
@@ -132,7 +146,7 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
         return success();
     }
 
-    @ApiOperation(value = "删除-网页", notes = "根据url的id来指定删除对象")
+    @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
     @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterbasecalibrationtime:delete")
     @PutMapping(value = "/")
@@ -151,4 +165,66 @@ public class MeterBaseCalibrationTimeController extends BaseRESTfulController {
             throw new MarkerMetException(500, "操作异常!!");
         }
     }
+
+    @ApiOperation(value = "废除标识符", notes = "根据传过来的MeterBaseCalibrationTime集合信息来更新详细信息")
+    @ApiImplicitParams({
+
+            @ApiImplicitParam(name = "MeterBaseCalibrationTime", value = "详细实体MeterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
+    })
+    //@RequiresPermissions("combaseinfo:update")
+    @Transactional
+    @PostMapping(value = "/abolish")
+    public RESTfulResult abolish(@RequestBody List<MeterBaseCalibrationTime> models) {
+        try {
+            String msg = meterBaseCalibrationTimeService.abolish(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "启用标识符", notes = "根据传过来的MeterBaseCalibrationTime集合信息来更新详细信息")
+    @Transactional
+    @PostMapping(value = "/Recovery")
+    public RESTfulResult recovery(@RequestBody List<MeterBaseCalibrationTime> models) {
+        try {
+            String msg = meterBaseCalibrationTimeService.recovery(models);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+    @ApiOperation(value = "新增计量点校称时间", notes = "根据MeterBaseCalibrationTime,MeterBaseSpotInfo对象创建")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "meterBaseSpotInfo", value = "详细实体meterBaseSpotInfo", required = true, dataType = "MeterBaseSpotInfo"),
+            @ApiImplicitParam(name = "meterBaseCalibrationTime", value = "详细实体meterBaseCalibrationTime", required = true, dataType = "MeterBaseCalibrationTime")
+    })
+    @Transactional
+    @PostMapping(value = "/addSpotTime")
+    public RESTfulResult addSpotTime(@RequestBody MeterBaseCalibrationTime mbCalibrationTime,@RequestBody MeterBaseSpotInfo mbSpotInfo) {
+        try {
+            String msg = meterBaseCalibrationTimeService.checkandadd(mbCalibrationTime);
+            if (msg != null && !msg.equals("")) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
+
 }

+ 10 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/service/IMeterBaseCalibrationTimeService.java

@@ -1,8 +1,12 @@
 package com.steerinfo.baseinfo.meterbasecalibrationtime.service;
 
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * MeterBaseCalibrationTime服务接口:
  * @author generator
@@ -20,4 +24,10 @@ public interface IMeterBaseCalibrationTimeService extends IBaseService<MeterBase
      String checkandadd(MeterBaseCalibrationTime model);
 
      String checkandupdate(String id,MeterBaseCalibrationTime model);
+
+     List<MeterBaseCalibrationTime> queryall(Map<String,Object> parmas);
+
+     String abolish(List<MeterBaseCalibrationTime> models);
+
+     String recovery(List<MeterBaseCalibrationTime> models);
 }

+ 81 - 10
src/main/java/com/steerinfo/baseinfo/meterbasecalibrationtime/service/impl/MeterBaseCalibrationTimeServiceImpl.java

@@ -1,17 +1,23 @@
 package com.steerinfo.baseinfo.meterbasecalibrationtime.service.impl;
 
+import com.steerinfo.baseinfo.meterbasecalibrarelation.service.impl.MeterBaseCalibraRelationServiceImpl;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.model.MeterBaseCalibrationTime;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.mapper.MeterBaseCalibrationTimeMapper;
 import com.steerinfo.baseinfo.meterbasecalibrationtime.service.IMeterBaseCalibrationTimeService;
+import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.framework.utils.base.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * MeterBaseCalibrationTime服务实现:
@@ -32,11 +38,15 @@ public class MeterBaseCalibrationTimeServiceImpl extends BaseServiceImpl<MeterBa
     @Autowired
     private MeterBaseCalibrationTimeMapper meterBaseCalibrationTimeMapper;
 
+    @Autowired
+    private MeterBaseCalibraRelationServiceImpl meterBaseCalibraRelationService;
+
     @Override
     protected IBaseMapper<MeterBaseCalibrationTime, String> getMapper() {
         return meterBaseCalibrationTimeMapper;
     }
 
+
     @Override
     public String checkandadd(MeterBaseCalibrationTime model)
     {
@@ -51,26 +61,87 @@ public class MeterBaseCalibrationTimeServiceImpl extends BaseServiceImpl<MeterBa
         }
         String no=meterBaseCalibrationTimeMapper.GetNewID();
         model.setId(new SimpleDateFormat("yyyyMMdd").format(new Date()) +no);
+
+
         model.setCreateTime(new Date());
-        model.setValidFlag("0");
-        meterBaseCalibrationTimeMapper.insert(model);
+        model.setValidFlag("1");
+
+        meterBaseCalibrationTimeMapper.insertSelective(model);
         return "";
     }
 
     @Override
     public String checkandupdate(String id,MeterBaseCalibrationTime model)
     {
-        if (model == null ) {
-            return "请传入参数!";
+        try {
+            if (model == null ) {
+                return "请传入参数!";
+            }
+            if (StringUtils.isEmpty(model.getCalibrationTimeUnit())) {
+                return "校秤时间单位不能为空";
+            }
+            if (StringUtils.isEmpty(model.getCalibrationTypeName())) {
+                return "校秤类型名称不能为空";
+            }
+
+            int key1=meterBaseCalibrationTimeMapper.updateByPrimaryKey(model);
+            Assert.isTrue(key1 == 1,"更新校称时间错误");
+            String key2 = meterBaseCalibraRelationService.updateBymbCalibTimeNo(id, model);
+            Assert.isTrue((key2 == null || key2.equals("")),"更新关联表错误"+key2);
+
+        }catch (Exception ex){
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
         }
-        if (StringUtils.isEmpty(model.getCalibrationTimeUnit())) {
-            return "校秤时间单位不能为空";
+        return "";
+    }
+    //meterBaseCalibraRelationService.updateBymbCalibTimeNo(id,model);
+    @Override
+    public List<MeterBaseCalibrationTime> queryall(Map<String,Object> parmas)
+    {
+        return meterBaseCalibrationTimeMapper.selectByParameters(parmas);
+    }
+
+    @Override
+    public String abolish(List<MeterBaseCalibrationTime> models)  {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibrationTime model:models) {
+                model.setCalibrationTimeNo(model.getCalibrationTimeNo());
+                model.setValidFlag("0");
+                model.setDeleteTime(new Date());
+
+                meterBaseCalibrationTimeMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
         }
-        if (StringUtils.isEmpty(model.getCalibrationTypeName())) {
-            return "校秤类型名称不能为空";
+        return "";
+    }
+
+    @Override
+    public String recovery(List<MeterBaseCalibrationTime> models) {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseCalibrationTime model:models) {
+                model.setCalibrationTimeNo(model.getCalibrationTimeNo());
+                model.setValidFlag("1");
+                model.setDeleteTime(new Date());
+
+                meterBaseCalibrationTimeMapper.updateByPrimaryKey(model);
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
         }
-        model.setUpdateTime(new Date());
-        meterBaseCalibrationTimeMapper.updateByPrimaryKey(model);
         return "";
     }
 }

+ 1 - 1
src/main/java/com/steerinfo/baseinfo/meterbasespotinfo/mapper/MeterBaseSpotInfoMapper.xml

@@ -954,7 +954,7 @@
 
   <select id="GetNewID" parameterType="java.lang.String" resultType="java.lang.String">
     SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(BASE_SPOT_NO, LENGTH(BASE_SPOT_NO) - 4))),0) + 1,5,'0') BASE_SPOT_NO
-    FROM METER_BASE_SPOT_INFO
+    FROM METER_BASE_CALIBRA_STANDARD
   </select>
 
   <select id="selectall" parameterType="java.util.HashMap" resultMap="BaseResultMap">

+ 83 - 2
src/main/java/com/steerinfo/meterwork/meterworkcaractual/controller/MeterWorkCarActualController.java

@@ -156,6 +156,24 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
+    @ApiOperation(value = "未匹配委托的数据修改车号", notes = "根据传过来的meterWorkCarActual信息来更新车号信息")
+    @PostMapping(value = "/updateCar", produces = "application/json;charset=UTF-8")
+    public RESTfulResult updateCar(@RequestBody MeterWorkCarActual model) {
+        RESTfulResult rm = failed();
+        try {
+            int num = meterWorkCarActualService.updateCar(model);
+            if (num >= 1) {
+                return success(num);
+            } else {
+                return failed("修改失败");
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            rm.setMessage(ex.getMessage());
+        }
+        return rm;
+    }
+
     @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
     @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
     //@RequiresPermissions("meterworkcaractual:delete")
@@ -250,6 +268,31 @@ throw new MarkerMetException(500, "操作异常!!");
         return rm;
     }
 
+    @ApiOperation(value = "数据发布", notes = "根据MeterWorkCarActual对象创建")
+    @ApiImplicitParam(name = "MeterWorkCarActual", value = "详细实体MeterWorkCarActual", required = true, dataType = "MeterWorkCarActual")
+    //@RequiresPermissions("meterworkcaractualfirst:create")
+    @PostMapping(value = "/publish")
+    public RESTfulResult publish(@RequestBody MeterWorkCarActual model) {
+        RESTfulResult rm = failed();
+        try {
+            int num = meterWorkCarActualService.publish(model);
+            if (num >= 1) {
+                return success(num);
+            } else {
+                return failed("操作失败");
+            }
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
     @ApiOperation(value = "条件查询视图", notes = "根据传入参数进行查询")
     @GetMapping(value = "/selectView")
     public RESTfulResult selectView(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
@@ -271,10 +314,48 @@ throw new MarkerMetException(500, "操作异常!!");
 
     @ApiOperation(value = "洁净")
     @PostMapping(value = "/clean")
-    public RESTfulResult clean(@RequestParam String actualFirstNo, String dataNo) {
+    public RESTfulResult clean(@RequestParam String actualFirstNo, String dataNo, String predictionNo) {
+        RESTfulResult rm = failed();
+        try {
+            MeterWorkCarActual mwca = meterWorkCarActualService.clean(actualFirstNo, dataNo, predictionNo);
+            return success(mwca);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+    @ApiOperation(value = "匹配委托")
+    @PostMapping(value = "/matchPrediction")
+    public RESTfulResult matchPrediction(@RequestParam String actualNo, String predictionNo) {
+        RESTfulResult rm = failed();
+        try {
+            MeterWorkCarActual mwca = meterWorkCarActualService.matchPrediction(actualNo, predictionNo);
+            return success(mwca);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+    @ApiOperation(value = "解除委托")
+    @PostMapping(value = "/removePrediction")
+    public RESTfulResult removePrediction(@RequestBody MeterWorkCarActual model) {
         RESTfulResult rm = failed();
         try {
-            MeterWorkCarActual mwca = meterWorkCarActualService.clean(actualFirstNo, dataNo);
+            MeterWorkCarActual mwca = meterWorkCarActualService.cleanPrediction(model);
             return success(mwca);
         } catch (MarkerMetException e) {
             e.printStackTrace();

+ 7 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.java

@@ -18,6 +18,13 @@ public interface MeterWorkCarActualMapper extends IBaseMapper<MeterWorkCarActual
     //一次皮重洁净
     MeterWorkCarActual manualAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);
 
+    //一次皮重洁净
+    MeterWorkCarActual manualAddPre(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo, @Param( value = "predictionNo")String predictionNo);
+
+    MeterWorkCarActual mathPredcition(@Param(value = "actualNo") String actualNo, @Param(value = "predictionNo") String predictionNo);
+
+    MeterWorkCarActual cleanPredcition(@Param(value = "actualNo") String actualNo);
+
     String getNewID(@org.apache.ibatis.annotations.Param(value="afl")String afl);
     //期限皮重洁净
     MeterWorkCarActual tareAdd(@Param( value = "actualFirstNo") String actualFirstNo, @Param( value = "dataNo")String dataNo);

+ 52 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.xml

@@ -2458,6 +2458,58 @@
     where t1.actual_first_no=#{actualFirstNo,jdbcType=VARCHAR} and t2.actual_first_no=#{dataNo,jdbcType=VARCHAR}
  </select>
 
+    <select id="manualAddPre" parameterType="java.lang.String" resultMap="BaseResultMap">
+        select T3.prediction_no PREDICTION_NO, T3.notice_no NOTICE_NO, T3.car_no CAR_NO, T3.trailer_no TRAILER_NO, T3.matter_no MATTER_NO,
+               T3.matter_name MATTER_NAME, T3.contract_no CONTRACT_NO, T3.batch_no BATCH_NO, T3.customer_supplier_no CUSTOMER_SUPPLIER_NO,
+               T3.customer_supplier_name CUSTOMER_SUPPLIER_NAME, T3.forwarding_unit_no FORWARDING_UNIT_NO, T3.forwarding_unit_name FORWARDING_UNIT_NAME,
+               T3.receiving_uint_no RECEIVING_UINT_NO, T3.receiving_uint_name RECEIVING_UINT_NAME, T3.material_no MATERIAL_NO,
+               T3.material_name MATERIAL_NAME, T3.spec_no SPEC_NO, T3.spec_name SPEC_NAME, T3.load_point_no LOAD_POINT_NO, T3.load_point_name LOAD_POINT_NAME,
+               t1.sample_no SAMPLE_NO,t1.sample_voucher SAMPLE_VOUCHER,T3.carrier_unit_no CARRIER_UNIT_NO,T3.carrier_unit_name CARRIER_UNIT_NAME,
+               T3.meter_type_no METER_TYPE_NO, T3.meter_type_name METER_TYPE_NAME,T3.meter_process_no METER_PROCESS_NO, T3.meter_process_edition_no METER_PROCESS_EDITION_NO,
+               t1.actual_first_no ACTUAL_FIRST1_NO, t1.meter_weight GROSS_WEIGHT, t1.create_man_no GROSS_MAN_NO, t1.create_man_name GROSS_MAN_NAME, t1.create_time GROSS_TIME,
+               t1.base_spot_no BASE_SPOT1_NO, t1.base_spot_name BASE_SPOT1_NAME,t1.meter_class GROSS_CLASS, t1.meter_group GROSS_GROUP, t1.meter_mode GROSS_MODE,
+               t2.actual_first_no ACTUAL_FIRST2_NO, t2.meter_weight TARE_WEIGHT, t2.create_man_no TARE_MAN_NO, t2.create_man_name TARE_MAN_NAME, t2.create_time TARE_TIME,
+               t2.base_spot_no BASE_SPOT2_NO, t2.base_spot_name BASE_SPOT2_NAME, t2.meter_class TARE_CLASS, t2.meter_group TARE_GROUP,t2.meter_mode TARE_MODE,t1.METER_NUM METER_NUM
+        from METER_WORK_CAR_ACTUAL_FIRST t1,METER_WORK_CAR_ACTUAL_FIRST t2, PRE_TRACK_SCALE T3
+        where t1.actual_first_no=#{actualFirstNo,jdbcType=VARCHAR} and t2.actual_first_no=#{dataNo,jdbcType=VARCHAR} AND T3.prediction_no =#{predictionNo,jdbcType=VARCHAR}
+    </select>
+
+    <select id="mathPredcition" parameterType="java.lang.String" resultMap="BaseResultMap">
+        select t.actual_no, t1.prediction_no, t1.notice_no, t1.car_no,
+               t1.trailer_no, t1.matter_no, t1.matter_name, t1.contract_no,
+               t1.batch_no, t1.customer_supplier_no, t1.customer_supplier_name,
+               t1.forwarding_unit_no, t1.forwarding_unit_name, t1.receiving_uint_no,
+               t1.receiving_uint_name, t1.material_no, t1.material_name,
+               t1.spec_no, t1.spec_name, t1.load_point_no, t1.load_point_name,
+               t1.sample_no, t1.sample_voucher, t1.carrier_unit_no, t1.carrier_unit_name,
+               t1.meter_type_no, t1.meter_type_name, t1.meter_process_no, t1.meter_process_edition_no,
+               t.actual_first1_no, t.gross_weight, t.gross_man_no, t.gross_man_name, t.gross_time,
+               t.base_spot1_no, t.base_spot1_name, t.gross_class, t.gross_group, t.gross_mode,
+               t.actual_first2_no,  t.tare_weight, t.tare_man_no, t.tare_man_name, t.tare_time,
+               t.base_spot2_no, t.base_spot2_name, t.tare_class, t.tare_group, t.tare_mode,
+               t.net_weight, t.meter_num, t.net_man_no, t.net_man_name, t.net_time, t.net_spot3_no,
+               t.net_spot3_name, t.net_group, t.net_mode, t.value_flag, t.upload_flag, t.check_man_no,
+               t.check_man_name, t.check_time, t.upload_man_no, t.upload_man_name, t.upload_time, t.add_weight,
+               t.net_class, t.tb_flage, t1.railway_no, t.update_man_no, t.update_man_name, t.update_time,
+               t.memo, t1.heat_no, t1.shipment_gross_weight, t1.shipment_net_weight, t1.shipment_num,
+               t1.bind_card_no, t1.prediction_type, t1.prediction_combination, t.meter_pier_name,
+               t.meter_pier_no, t1.ship_no,t.note
+        from meter_work_car_actual t, pre_track_scale t1 where t.actual_no = #{actualNo,jdbcType=VARCHAR} and t1.prediction_no = #{predictionNo,jdbcType=VARCHAR}
+    </select>
+
+    <select id="cleanPredcition" parameterType="java.lang.String" resultMap="BaseResultMap">
+        select t.actual_no, t.actual_first1_no, t.gross_weight, t.gross_man_no, t.gross_man_name, t.gross_time,
+               t.base_spot1_no, t.base_spot1_name, t.gross_class, t.gross_group, t.gross_mode,
+               t.actual_first2_no,  t.tare_weight, t.tare_man_no, t.tare_man_name, t.tare_time,
+               t.base_spot2_no, t.base_spot2_name, t.tare_class, t.tare_group, t.tare_mode,
+               t.net_weight, t.meter_num, t.net_man_no, t.net_man_name, t.net_time, t.net_spot3_no,
+               t.net_spot3_name, t.net_group, t.net_mode, t.value_flag, t.upload_flag, t.check_man_no,
+               t.check_man_name, t.check_time, t.upload_man_no, t.upload_man_name, t.upload_time, t.add_weight,
+               t.net_class, t.tb_flage, t.update_man_no, t.update_man_name, t.update_time,
+               t.memo, t.meter_pier_name, t.meter_pier_no, t.note
+        from meter_work_car_actual t where t.actual_no = #{actualNo,jdbcType=VARCHAR}
+    </select>
+
     <select id="getNewID" parameterType="java.lang.String" resultType="java.lang.String">
     SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(ACTUAL_NO,9))),0) + 1,4,'0') ACTUAL_NO
     FROM METER_WORK_CAR_ACTUAL where instr(ACTUAL_NO,#{afl,jdbcType=VARCHAR})>0

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/model/MeterWorkCarActual.java

@@ -1207,7 +1207,7 @@ public class MeterWorkCarActual implements IBasePO<String> {
     }
 
     public void setNote(String note) {
-        this.note = note == null ? null : note.trim();
+        this.note = note == null ? this.note : this.note + ";" + note.trim();
     }
 
     @Override

+ 12 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/IMeterWorkCarActualService.java

@@ -5,6 +5,7 @@ import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
 import com.steerinfo.util.CommonPage;
+import io.micrometer.core.instrument.Meter;
 
 import java.util.List;
 import java.util.Map;
@@ -31,9 +32,19 @@ public interface IMeterWorkCarActualService extends IBaseService<MeterWorkCarAct
 
     int unaudit(MeterWorkCarActual model);
 
+    int publish(MeterWorkCarActual model);
+
+    int updateCar(MeterWorkCarActual model);
+
+    int cancel(MeterWorkCarActual model);
+
+    MeterWorkCarActual matchPrediction(String actualNo, String predictionNo);
+
+    MeterWorkCarActual cleanPrediction(MeterWorkCarActual model);
+
     PageList<MeterWorkCarActual> selectView(Map<Objects,String> parmas,Integer pageNum, Integer pageSize);
 
-    MeterWorkCarActual clean(String actualFirstNo, String dataNo);
+    MeterWorkCarActual clean(String actualFirstNo, String dataNo, String predictionNo);
 
     int remove(List<MeterWorkCarActual> models);
 

+ 285 - 78
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java

@@ -119,6 +119,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         }
     }
 
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int audit(MeterWorkCarActual model) {
@@ -150,7 +151,98 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public MeterWorkCarActual clean(String actualFirstNo, String dataNo) {
+    public int publish(MeterWorkCarActual model) {
+        try {
+            if (model == null) {
+                throw new MarkerMetException(500, "参数为空!!");
+            }
+            check(model);
+            model.setValueFlag("2"); // 状态改为发布
+            int num = meterWorkCarActualMapper.updateByPrimaryKeySelective(model);
+            return num;
+        } catch (MarkerMetException e) {
+            throw e;
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int cancel(MeterWorkCarActual model) {
+        try {
+            if (model == null) {
+                throw new MarkerMetException(500, "参数为空!!");
+            }
+            check(model);
+            model.setValueFlag("1"); // 状态改为发布
+            int num = meterWorkCarActualMapper.updateByPrimaryKeySelective(model);
+            return num;
+        } catch (MarkerMetException e) {
+            throw e;
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int updateCar (MeterWorkCarActual model) {
+        try {
+            careditcheck(model);
+            // 更新净重数据
+            MeterWorkCarActual netData = new MeterWorkCarActual();
+            netData.setActualNo(model.getActualNo());
+            netData.setCarNo(model.getCarNo());
+            netData.setNote(model.getNote());
+            netData.setUpdateTime(new Date());
+            netData.setUpdateManNo(model.getUpdateManNo());
+            netData.setUpdateManName(model.getUpdateManName());
+            int num = meterWorkCarActualMapper.updateByPrimaryKeySelective(netData);
+
+            // 更新一次计量数据
+            MeterWorkCarActual queryData = meterWorkCarActualMapper.selectByPrimaryKey(netData.getActualNo());
+            MeterWorkCarActualFirst first1 = new MeterWorkCarActualFirst();
+            MeterWorkCarActualFirst first2 = new MeterWorkCarActualFirst();
+            first1.setActualFirstNo(queryData.getActualFirst1No());
+            first1.setCarNo(queryData.getCarNo());
+            first1.setUpdateManName("system");
+            first1.setUpdateTime(new Date());
+            first1.setNote("未匹配委托净重数据修改车号,同步修改一次计量数据车号");
+            meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(first1);
+
+            first2.setActualFirstNo(queryData.getActualFirst1No());
+            first2.setCarNo(queryData.getCarNo());
+            first2.setUpdateManName("system");
+            first2.setUpdateTime(new Date());
+            first2.setNote("未匹配委托净重数据修改车号,同步修改一次计量数据车号");
+            meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(first2);
+
+            return num;
+        } catch (MarkerMetException e) {
+            throw e;
+        }
+    }
+
+    private void careditcheck (MeterWorkCarActual model) throws MarkerMetException {
+        if (model.getActualNo() == null || "".equals(model.getActualNo())) {
+            throw new MarkerMetException(500, "操作数据主键不能为空!!!");
+        }
+        if (model.getValueFlag() != "3") {
+            throw new MarkerMetException(500, "只有未匹配委托的数据才能修改车号!!!");
+        }
+        if (model.getNote() == null || "".equals(model.getNote())) {
+            throw new MarkerMetException(500, "车号修改原因不能为空");
+        }
+        if (model.getCarNo() == null || model.getCarNo().equals("")) {
+            throw new MarkerMetException(500, "车号不能为空");
+        }
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getId();
+        String userName = payload.getUserName();
+        model.setUpdateManName(userName);
+        model.setUpdateManNo(userId);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public MeterWorkCarActual clean(String actualFirstNo, String dataNo, String predictionNo) {
         try {
             if (actualFirstNo == null || "".equals(actualFirstNo)) {
                 throw new MarkerMetException(500, "毛重数据编号为空");
@@ -170,30 +262,54 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             if (mwcaf2.getMeterWeight().compareTo(mwcaf1.getMeterWeight()) == 1) {
                 throw new MarkerMetException(500, "皮重重量大于毛重重量!!");
             }
+            // 选中的是否为同一车的数据
+            if (mwcaf1.getCarNo() != mwcaf2.getCarNo()) {
+                throw new MarkerMetException(500, "请选择同一车号的一次计量数据进行结净");
+            }
+            // 一次计量数据是否已经完成委托匹配
+            if ((mwcaf1.getPredictionNo() != null && "".equals(mwcaf1.getPredictionNo())) || (mwcaf2.getPredictionNo() != null && "".equals(mwcaf2.getPredictionNo()))) {
+                if (mwcaf1.getPredictionNo() != mwcaf2.getPredictionNo()) {
+                    throw new MarkerMetException(500, "选中的两条一次计量数据匹配的委托不一致,不允许进行洁净操作!!!");
+                } else if (predictionNo != null && !"".equals(predictionNo)) {
+                    throw new MarkerMetException(500, "选中的两条一次计量数据已经匹配委托,请正确选择数据!!!");
+                }
+            }
 
-            //修改预环节信息;不等于 中控倒运 001006003 --- 注释业务类型判断以及对预环节的处理
-//            if (!mwcaf1.getMeterTypeNo().equals("001006003")) {
-//                List<MeterWorkPreLink> mwpls = meterWorkPreLinkService.getPer(mwcaf1.getPredictionNo(), DbConstants.CLEAN);
-//                for (MeterWorkPreLink mwpl : mwpls) {
-//                    mwpl.setValueFlag("1");//已使用
-//                    mwpl.setUpdateManName("system");
-//                    mwpl.setUpdateManName("二次计量洁净更新");
-//                    mwpl.setUpdateTime(new Date());
-//                    meterWorkPreLinkMapper.updateByPrimaryKey(mwpl);
-//                }
-                //修改预报
-                if (StringUtils.isNotEmpty(mwcaf1.getPredictionNo())
-                        && mwcaf1.getPredictionNo().length() > 10) {
-                    PreTrackScale scale = new PreTrackScale();
-                    scale.setPredictionNo(mwcaf1.getPredictionNo());
-                    scale.setValueFlag(DbConstants.NET);
-                    scale.setUpdateTime(new Date());
-                    scale.setUpdateManNo("system");
-                    scale.setUpdateManName("二次计量洁净更新");
-                    preTrackScaleMapper.updateByPrimaryKeySelective(scale);
+            String preNo = (predictionNo == null ? mwcaf1.getPredictionNo() : predictionNo);
+
+            //修改预报
+            if (preNo != null && !"".equals(preNo)) {
+                // 选中预报和选中一次计量数据中车号是否一致
+                PreTrackScale queryRow = preTrackScaleMapper.selectByPrimaryKey(preNo);
+                if (mwcaf1.getCarNo() != queryRow.getCarNo()) {
+                    throw new MarkerMetException(500, "选中预报中车号与一次计量数据中车号不一致!!!");
                 }
-//            }
+                PreTrackScale scale = new PreTrackScale();
+                scale.setPredictionNo(preNo);
+                scale.setValueFlag(DbConstants.NET);
+                scale.setUpdateTime(new Date());
+                scale.setUpdateManNo("system");
+                scale.setUpdateManName("二次计量洁净更新");
+                preTrackScaleMapper.updateByPrimaryKeySelective(scale);
+            }
 
+            MeterWorkCarActual actualRow = new MeterWorkCarActual();
+
+            // 判断前端是否传入了预报编号
+            if (predictionNo != null && !"".equals(predictionNo)) {
+                // 根据一次计量数据和预报数据生成净重相关信息
+                MeterWorkCarActualFirst first1 = meterWorkCarActualFirstMapper.selectAndMatch(actualFirstNo, predictionNo);
+                BeanUtils.copyProperties(mwcaf1, first1);
+                MeterWorkCarActualFirst first2 = meterWorkCarActualFirstMapper.selectAndMatch(dataNo, predictionNo);
+                BeanUtils.copyProperties(mwcaf2, first2);
+                MeterWorkCarActual mwca1 = meterWorkCarActualMapper.manualAddPre(actualFirstNo, dataNo, predictionNo);
+                BeanUtils.copyProperties(actualRow, mwca1);
+            } else {
+                MeterWorkCarActual mwca2 = meterWorkCarActualMapper.manualAdd(actualFirstNo, dataNo);
+                BeanUtils.copyProperties(actualRow, mwca2);
+            }
+
+            check(actualRow);
             // 毛重数据处理
             mwcaf1.setValueFlag(DbConstants.NET);
             mwcaf1.setUpdateManName("system");
@@ -208,25 +324,22 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             mwcaf2.setValueFlag(DbConstants.NET);
             meterWorkCarActualFirstMapper.updateByPrimaryKey(mwcaf2);
 
-            MeterWorkCarActual mwca = meterWorkCarActualMapper.manualAdd(actualFirstNo, dataNo);
-            check(mwca);
-
-            if (mwca.getGrossTime().compareTo(mwca.getTareTime()) == 1) {
-                mwca.setNetSpot3No(mwca.getBaseSpot1No());
-                mwca.setNetSpot3Name(mwca.getBaseSpot1Name());
-                mwca.setNetTime(mwca.getGrossTime());
+            if (actualRow.getGrossTime().compareTo(actualRow.getTareTime()) == 1) {
+                actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
+                actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
+                actualRow.setNetTime(actualRow.getGrossTime());
             } else {
-                mwca.setNetSpot3No(mwca.getBaseSpot2No());
-                mwca.setNetSpot3Name(mwca.getBaseSpot2Name());
-                mwca.setNetTime(mwca.getTareTime());
+                actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
+                actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
+                actualRow.setNetTime(actualRow.getTareTime());
             }
-            mwca.setNetMode(DbConstants.TYPE);
+            actualRow.setNetMode(DbConstants.TYPE);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
             String no = meterWorkCarActualMapper.getNewID(sdf.format(new Date()));
-            mwca.setActualNo(sdf.format(new Date()) + no);
-            mwca.setNetWeight(mwcaf1.getMeterWeight().subtract(mwcaf2.getMeterWeight()));
-            meterWorkCarActualMapper.insertSelective(mwca);
-            return mwca;
+            actualRow.setActualNo(sdf.format(new Date()) + no);
+            actualRow.setNetWeight(mwcaf1.getMeterWeight().subtract(mwcaf2.getMeterWeight()));
+            meterWorkCarActualMapper.insertSelective(actualRow);
+            return actualRow;
         } catch (MarkerMetException e) {
             throw e;
         }
@@ -252,11 +365,13 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                 if (mwcaf1 == null) {
                     throw new MarkerMetException(500, "未查询到相应的毛重数据!!");
                 }
-                mwcaf1.setValueFlag(DbConstants.VALID);
-                mwcaf1.setUpdateManName("system");
-                mwcaf1.setUpdateManName("二次计量解除更新");
-                mwcaf1.setUpdateTime(new Date());
-                meterWorkCarActualFirstMapper.updateByPrimaryKey(mwcaf1);
+                // 清空毛重数据中的委托信息
+                MeterWorkCarActualFirst mwcafg = meterWorkCarActualFirstMapper.selectAndRemove(model.getActualFirst1No());
+                mwcafg.setValueFlag(DbConstants.VALID);
+                mwcafg.setUpdateManName("system");
+                mwcafg.setUpdateManName("二次计量解除更新");
+                mwcafg.setUpdateTime(new Date());
+                meterWorkCarActualFirstMapper.updateByPrimaryKey(mwcafg);
                 //皮重
                 MeterWorkCarActualFirst mwcaf2 = meterWorkCarActualFirstMapper.selectByPrimaryKey(model.getActualFirst2No());
                 MeterBaseTermTareData mbttd = meterBaseTermTareDataMapper.selectByPrimaryKey(model.getActualFirst2No());
@@ -264,39 +379,39 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                     throw new MarkerMetException(500, "未查询到相应的皮重数据!!");
                 }
                 if (mwcaf2 != null) {
-                    if ("2".equals(mwcaf2.getWeightType())) {
-                        mwcaf2.setValueFlag(DbConstants.INVALID); //期限皮重置为作废
-                        mwcaf2.setUpdateManName("system");
-                        mwcaf2.setUpdateManName("二次计量解除作废");
-                        mwcaf2.setUpdateTime(new Date());
+                    MeterWorkCarActualFirst mwcaft = meterWorkCarActualFirstMapper.selectAndRemove(mwcaf2.getActualFirstNo());
+                    if ("2".equals(mwcaft.getWeightType())) {
+                        mwcaft.setValueFlag(DbConstants.INVALID); //期限皮重置为作废
+                        mwcaft.setUpdateManName("system");
+                        mwcaft.setUpdateManName("二次计量解除作废");
+                        mwcaft.setUpdateTime(new Date());
                     } else {
-                        mwcaf2.setValueFlag(DbConstants.VALID);
-                        mwcaf2.setUpdateManName("system");
-                        mwcaf2.setUpdateManName("二次计量解除更新");
-                        mwcaf2.setUpdateTime(new Date());
+                        mwcaft.setValueFlag(DbConstants.VALID);
+                        mwcaft.setUpdateManName("system");
+                        mwcaft.setUpdateManName("二次计量解除更新");
+                        mwcaft.setUpdateTime(new Date());
                     }
-
-                    meterWorkCarActualFirstMapper.updateByPrimaryKey(mwcaf2);
+                    meterWorkCarActualFirstMapper.updateByPrimaryKey(mwcaft);
                 }
                 //回退至预环节的前一状态
-                if (!model.getMeterTypeNo().equals("001006003")) {
-                    List<MeterWorkPreLink> mwpls = meterWorkPreLinkService.getNext(model.getPredictionNo(), DbConstants.CLEAN);
-                    for (MeterWorkPreLink mwpl : mwpls) {
-                        mwpl.setValueFlag("0");//未使用
-                        meterWorkPreLinkMapper.updateByPrimaryKey(mwpl);
-                    }
-                    //修改预报
-                    if (StringUtils.isNotEmpty(model.getPredictionNo())
-                            && model.getPredictionNo().length() > 10) {
-                        PreTrackScale scale = new PreTrackScale();
-                        scale.setPredictionNo(model.getPredictionNo());
-                        scale.setValueFlag(DbConstants.IN);
-                        scale.setUpdateTime(new Date());
-                        scale.setUpdateManNo("system");
-                        scale.setUpdateManName("计量洁净数据解除操作");
-                        preTrackScaleMapper.updateByPrimaryKeySelective(scale);
-                    }
+//                if (!model.getMeterTypeNo().equals("001006003")) {
+//                    List<MeterWorkPreLink> mwpls = meterWorkPreLinkService.getNext(model.getPredictionNo(), DbConstants.CLEAN);
+//                    for (MeterWorkPreLink mwpl : mwpls) {
+//                        mwpl.setValueFlag("0");//未使用
+//                        meterWorkPreLinkMapper.updateByPrimaryKey(mwpl);
+//                    }
+                //修改预报
+                if (StringUtils.isNotEmpty(model.getPredictionNo())
+                        && model.getPredictionNo().length() > 10) {
+                    PreTrackScale scale = new PreTrackScale();
+                    scale.setPredictionNo(model.getPredictionNo());
+                    scale.setValueFlag(DbConstants.IN);
+                    scale.setUpdateTime(new Date());
+                    scale.setUpdateManNo("system");
+                    scale.setUpdateManName("计量洁净数据解除操作");
+                    preTrackScaleMapper.updateByPrimaryKeySelective(scale);
                 }
+//                }
                 meterWorkCarActualMapper.deleteByPrimaryKey(model.getActualNo());
                 num++;
             }
@@ -307,6 +422,98 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public MeterWorkCarActual matchPrediction (String actualNo, String predictionNo) throws MarkerMetException {
+        if (actualNo == null || "".equals(actualNo)) {
+            throw new MarkerMetException(500, "洁净数据主键不能为空");
+        }
+        if (predictionNo == null || "".equals(predictionNo)) {
+            throw new MarkerMetException(500, "预报编号不能为空");
+        }
+        MeterWorkCarActual queryrow = meterWorkCarActualMapper.selectByPrimaryKey(actualNo);
+        if (queryrow == null) {
+            throw new MarkerMetException(500, "不存在对应的洁净数据");
+        } else if (queryrow.getValueFlag() != "3" || queryrow.getPredictionNo() != null || !"".equals(queryrow.getPredictionNo())) {
+            throw new MarkerMetException(500, "只有未匹配的净重数据才能进行委托匹配操作");
+        }
+        PreTrackScale prerow = preTrackScaleMapper.selectByPrimaryKey(predictionNo);
+        if (prerow == null) {
+            throw new MarkerMetException(500, "不存在对应的预报数据");
+        } else if (prerow.getValueFlag() != "1") {
+            throw new MarkerMetException(500, "只有未使用的委托才能进行匹配委托操作");
+        }
+        if (queryrow.getCarNo() != prerow.getCarNo()) {
+            throw new MarkerMetException(500, "洁净数据中车号和预报中车号不一致,不允许进行匹配委托操作");
+        }
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getId();
+        String userName = payload.getUserName();
+
+        // 处理一次计量数据
+        // 毛重
+        MeterWorkCarActualFirst grossrow = meterWorkCarActualFirstMapper.selectAndMatch(queryrow.getActualFirst1No(), predictionNo);
+        grossrow.setUpdateTime(new Date());
+        grossrow.setUpdateManName(userName + ": 洁净数据匹配委托操作");
+        grossrow.setUpdateManNo(userId);
+        meterWorkCarActualFirstMapper.updateByPrimaryKey(grossrow);
+
+        // 皮重
+        MeterWorkCarActualFirst tarerow = meterWorkCarActualFirstMapper.selectAndMatch(queryrow.getActualFirst2No(), predictionNo);
+        tarerow.setUpdateTime(new Date());
+        tarerow.setUpdateManName(userName + ": 洁净数据匹配委托操作");
+        tarerow.setUpdateManNo(userId);
+        meterWorkCarActualFirstMapper.updateByPrimaryKey(tarerow);
+
+        MeterWorkCarActual mwca = meterWorkCarActualMapper.mathPredcition(actualNo, predictionNo);
+        mwca.setValueFlag("1");
+        meterWorkCarActualMapper.updateByPrimaryKey(mwca);
+        return mwca;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public MeterWorkCarActual cleanPrediction (MeterWorkCarActual model) throws MarkerMetException {
+        if (model.getActualNo() == null || "".equals(model.getActualNo())) {
+            throw new MarkerMetException(500, "洁净数据主键不能为空");
+        }
+        if (model.getValueFlag() != "1" && model.getPredictionNo() != null && !"".equals(model.getPredictionNo())) {
+            throw new MarkerMetException(500, "只有有效已匹配的洁净数据才能进行解除操作");
+        }
+        MeterWorkCarActual mwcaquery = meterWorkCarActualMapper.selectByPrimaryKey(model.getActualNo());
+        if (mwcaquery == null) {
+            throw new MarkerMetException(500, "不存在对应的洁净数据");
+        }
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getId();
+        String userName = payload.getUserName();
+
+        // 处理一次计量数据
+        // 毛重
+        MeterWorkCarActualFirst grossrow = meterWorkCarActualFirstMapper.selectAndRemove(model.getActualFirst1No());
+//        grossrow.setValueFlag("3");
+        grossrow.setUpdateTime(new Date());
+        grossrow.setUpdateManName(userName + ": 洁净数据解除委托操作");
+        grossrow.setUpdateManNo(userId);
+        meterWorkCarActualFirstMapper.updateByPrimaryKey(grossrow);
+
+        // 皮重
+        MeterWorkCarActualFirst tarerow = meterWorkCarActualFirstMapper.selectAndRemove(model.getActualFirst1No());
+//        tarerow.setValueFlag("3");
+        tarerow.setUpdateTime(new Date());
+        tarerow.setUpdateManName(userName + ": 洁净数据解除委托操作");
+        tarerow.setUpdateManNo(userId);
+        meterWorkCarActualFirstMapper.updateByPrimaryKey(tarerow);
+
+        MeterWorkCarActual mwca = meterWorkCarActualMapper.cleanPredcition(model.getActualNo());
+
+        mwca.setUpdateManNo(userId);
+        mwca.setUpdateManName(userName);
+        mwca.setUpdateTime(new Date());
+        mwca.setValueFlag("3");
+        meterWorkCarActualMapper.updateByPrimaryKey(mwca);
+        return mwca;
+    }
     /**
      * @param actualFirstNo 毛重数据
      * @param dataNo        皮重数据
@@ -389,14 +596,14 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             throw new MarkerMetException(500, "物料编号不能为空");
         }
         if (model.getMatterName() == null || model.getMatterName().equals("")) {
-            throw new MarkerMetException(500, "物料名称能为空");
-        }
-        if (model.getMeterTypeNo() == null || model.getMeterTypeNo().equals("")) {
-            throw new MarkerMetException(500, "计量类型编号不能为空");
-        }
-        if (model.getMeterTypeName() == null || model.getMeterTypeName().equals("")) {
-            throw new MarkerMetException(500, "计量类型名称不能为空");
+            throw new MarkerMetException(500, "物料名称不能为空");
         }
+//        if (model.getMeterTypeNo() == null || model.getMeterTypeNo().equals("")) {
+//            throw new MarkerMetException(500, "计量类型编号不能为空");
+//        }
+//        if (model.getMeterTypeName() == null || model.getMeterTypeName().equals("")) {
+//            throw new MarkerMetException(500, "计量类型名称不能为空");
+//        }
         if (model.getActualFirst1No() == null || model.getActualFirst1No().equals("")) {
             throw new MarkerMetException(500, "毛重计量作业编号不能为空");
         }
@@ -422,7 +629,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             throw new MarkerMetException(500, "皮重计量点名称不能为空");
         }
         if (model.getActualNo() == null && model.getValueFlag() == null)
-            model.setValueFlag("0");//有效
+            model.setValueFlag("2");//有效
         if (model.getActualNo() == null && model.getUploadFlag() == null)
             model.setUploadFlag(DbConstants.INVALID);
         UserPayload payload = UserPayload.getCurrUser();

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

@@ -212,6 +212,29 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
         return rm;
     }
 
+    @ApiOperation(value = "修改数据中的车号", notes = "根据MeterWorkCarActualFirst对象创建")
+    @PostMapping(value = "/updateCar")
+    public RESTfulResult updateCar(@RequestBody MeterWorkCarActualFirst model) {
+        RESTfulResult rm = failed();
+        try {
+            int num = meterWorkCarActualFirstService.checkcarandupdate(model);
+            if (num >= 1) {
+                return success(num);
+            } else {
+                return failed("修改失败");
+            }
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
     @ApiOperation(value = "数据审核", notes = "根据MeterWorkCarActualFirst对象创建")
     @PostMapping(value = "/audit")
     public RESTfulResult audit(@RequestBody MeterWorkCarActualFirst model) {

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/model/MeterWorkCarActualFirst.java

@@ -968,7 +968,7 @@ public class MeterWorkCarActualFirst implements IBasePO<String> {
         return note;
     }
 
-    public void setNote(String note) { this.note = note == null ? null : note.trim(); }
+    public void setNote(String note) { this.note = note == null ? this.note : this.note + ";" + note.trim(); }
 
     @Override
     public String toString() {

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

@@ -31,6 +31,7 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
     int checkandadd(MeterWorkCarActualFirst model);
 
     int checkandupdate(MeterWorkCarActualFirst model);
+    int checkcarandupdate(MeterWorkCarActualFirst model);
 
     int audit(MeterWorkCarActualFirst model);
 

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

@@ -178,6 +178,21 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 throw new MarkerMetException(500, "已经结净的数据无法修改!!");
             }
             ckeck(model);
+            MeterWorkCarActualFirst first = new MeterWorkCarActualFirst();
+            first.setActualFirstNo(model.getActualFirstNo());
+            first.setCarNo(model.getCarNo());
+            int num = meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(first);
+            return num;
+        } catch (MarkerMetException e) {
+            throw e;
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int checkcarandupdate(MeterWorkCarActualFirst model) throws MarkerMetException {
+        try {
+            ckeckcar(model);
             int num = meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(model);
             return num;
         } catch (MarkerMetException e) {
@@ -656,6 +671,27 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         }
     }
 
+    private void ckeckcar(MeterWorkCarActualFirst model) throws MarkerMetException {
+        if (model.getActualFirstNo() == null || "".equals(model.getActualFirstNo())) {
+            throw new MarkerMetException(500, "操作数据主键不能为空");
+        }
+        if (model.getValueFlag() == "2") {
+            throw new MarkerMetException(500, "已经洁净的数据不能进行修改");
+        }
+        if (model.getPredictionNo() != null || "".equals(model.getPredictionNo())) {
+            throw new MarkerMetException(500, "已经匹配委托的数据无法修改车号!!");
+        }
+        if (model.getCarNo() == null || model.getCarNo().equals("")) {
+            throw new MarkerMetException(500, "车号不能为空");
+        }
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getId();
+        String userName = payload.getUserName();
+        model.setUpdateTime(new Date());
+        model.setUpdateManNo(userId);
+        model.setUpdateManName(userName);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public RESTfulResult doQueryWf(MeterWorkCarActualFirst oci) {