张磊磊
2023-11-24 fad63be580dc8ddef06b9f502e4551227e14d438
苏州地磅数据加工入库
已修改3个文件
149 ■■■■■ 文件已修改
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java
@@ -4,6 +4,7 @@
import com.thhy.materials.modules.biz.concret.entity.dto.DicetName;
import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant;
import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto;
import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge;
import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper;
import com.thhy.materials.modules.biz.weigh.service.WeighService;
import org.redisson.api.RLock;
@@ -192,6 +193,50 @@
    }
    //苏州项目------- 地磅入库  记录,及库存修改
    @Scheduled(fixedRate = 2000000) // 每隔3秒执行一次任务
    public void weighbridge() {
        //查询搅拌 所有类型
        List<DicetName> dictList = weighService.dictList();
        List<TWeighbridge> tWeighbridges = weighMapper.weighbridgeListType();
        for (DicetName dicetName : dictList){
            for (TWeighbridge weighbridge :tWeighbridges){
                if(dicetName.getDictName().equals(weighbridge.getMatname())){
                    //开始的库存
                    Double materialValue = weighMapper.materialStockValue(dicetName.getDictId());
                    //净重
                    String jweight = weighbridge.getJweight();
                    HashMap<String, Object> hashMap = new HashMap<>();
                    hashMap.put("id","");
                    hashMap.put("type",1);
                    hashMap.put("opType",1);
                    hashMap.put("materialName",dicetName.getDictId());
                    hashMap.put("materialValue",Double.valueOf(jweight));
                    hashMap.put("beforeStock",materialValue);
                    BigDecimal b1 = new BigDecimal(jweight);
                    BigDecimal b2 = new BigDecimal(materialValue);
                    double v1 = b1.add(b2).doubleValue();
                    hashMap.put("afterStock",v1);
                    hashMap.put("companyId","031e3dd577e8ed28e96aa69b");
                    RLock lock = redissonclient.getLock("materlock");
                    if(!lock.isLocked()) {
                        lock.lock(10, TimeUnit.SECONDS);
                        //插入记录表//苏州项目(入库计入增加)
                        weighMapper.materialStockRecordIns(hashMap);
                        //更改记录值
                        weighMapper.materialStockRecordUp(dicetName.getDictId(),b1.add(b2).doubleValue());
                        lock.unlock();
                    }
                    weighMapper.weighbridgeUpdateType(weighbridge.getWeighbridgeId());
                }
            }
        }
    }
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java
@@ -73,4 +73,12 @@
    void netWeighUpdateNew(@Param("byId") Integer byId,@Param("netWeight") double netWeight);
    List<TWeighbridge> weighbridgeList(Map<String, Object> values);
    List<TWeighbridge> weighbridgeListType();
    Double materialStockValue(String dictId);
    void materialStockRecordIns(HashMap<String, Object> hashMap);
    void weighbridgeUpdateType(Integer weighbridgeId);
}
hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml
@@ -615,4 +615,100 @@
        order by weighbridge_id desc
    </select>
    <select id="weighbridgeListType" resultType="com.thhy.materials.modules.biz.weigh.entity.TWeighbridge">
        select
        weighbridge_id as weighbridgeId,
        id,
        code,
        orgName,
        supplyOrgName,
        carNumber,
        driverName,
        matName,
        matModel,
        mPoundTime,
        mPoundWeight,
        mPoundName,
        pPoundTime,
        pPoundWeight,
        pPoundName,
        jPoundWeight,
        buckleWeight,
        mWeight,
        pWeight,
        jWeight,
        wareName,
        fileImage,
        types
         from  t_weighbridge where
        types=1
    </select>
    <select id="materialStockValue" resultType="java.lang.Double">
        select material_value as materialValue
        from  t_material_stock where  material_name=#{dictId}
    </select>
    <insert id="materialStockRecordIns" >
        insert into t_material_stock_record
        <trim prefix="(" suffix=")" suffixOverrides=",">
            id,
            <if test="createDate != null">
                create_date,
            </if>
            <if test="type != null">
                type,
            </if>
            <if test="opType != null">
                op_type,
            </if>
            <if test="materialName != null">
                material_name,
            </if>
            <if test="materialValue != null">
                material_value,
            </if>
            <if test="beforeStock != null">
                before_stock,
            </if>
            <if test="afterStock != null">
                after_stock,
            </if>
            <if test="companyId != null">
                company_id,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            REPLACE(UUID(),'-',''),
            <if test="createDate != null">
                #{createDate,jdbcType=TIMESTAMP},
            </if>
            <if test="type != null">
                #{type,jdbcType=INTEGER},
            </if>
            <if test="opType != null">
                #{opType,jdbcType=INTEGER},
            </if>
            <if test="materialName != null">
                #{materialName,jdbcType=VARCHAR},
            </if>
            <if test="materialValue != null">
                #{materialValue,jdbcType=DOUBLE},
            </if>
            <if test="beforeStock != null">
                #{beforeStock,jdbcType=DOUBLE},
            </if>
            <if test="afterStock != null">
                #{afterStock,jdbcType=DOUBLE},
            </if>
            <if test="companyId != null">
                #{companyId},
            </if>
        </trim>
    </insert>
    <update id="weighbridgeUpdateType" >
        update t_weighbridge set
        types=2
        where weighbridge_id=#{weighbridgeId}
    </update>
</mapper>