gdg
2021-02-07 61b0fb5802f31e2f7673ddbf30e6d21220b6c7da
src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
@@ -4,6 +4,7 @@
import com.nanometer.smartlab.dao.SysWarehouseDao;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto;
import com.nanometer.smartlab.entity.dto.ReagentReceivingDto;
import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
import com.nanometer.smartlab.entity.enumtype.*;
import com.nanometer.smartlab.exception.AlarmCode;
@@ -12,7 +13,6 @@
import com.nanometer.smartlab.exception.ExceptionEnumCode;
import com.nanometer.smartlab.util.IDUtils;
import com.nanometer.smartlab.util.MessageUtil;
import com.sun.xml.internal.bind.v2.model.core.ID;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.dao.DataAccessException;
@@ -52,6 +52,8 @@
    OpeUseFlowService opeUseFlowService;
    @Resource
    OpeWarehouseReserveService opeWarehouseReserveService;
    @Resource
    private SysLaboratoryService sysLaboratoryService;
    @Transactional(propagation = Propagation.REQUIRED)
    public List<SysWarehouse> getSysWarehouseList(String type, String name, Integer first, Integer pageSize) {
@@ -224,6 +226,21 @@
                String reagentName = dangerousEncodes.get(0).getReagentName();
                String cas = dangerousEncodes.get(0).getCas();
                //危险性质 reagent_character
                String dangerousInfo = dangerousEncodes.get(0).getMemo();
                BaseMeta meta = baseMetaService.getBaseMeta("reagent_character", null, dangerousInfo);
                BaseMeta baseMeta = new BaseMeta();
                if (meta == null){
                    baseMeta.setId(IDUtils.uuid());
                    baseMeta.setGroupId("reagent_character");
                    baseMeta.setValidFlag(ValidFlag.VALID);
                    baseMeta.setMetaValue(dangerousInfo);
                    baseMeta.setMetaKey(dangerousInfo);
                    baseMetaService.insertBaseMeta(baseMeta);
                }else{
                    baseMeta = meta;
                }
                //查找是否存在试剂
                List<SysReagent> reagent = sysReagentService
                        .getReagent(reagentName, cas, factory.getId(), specifications.getId(), packing.getId());
@@ -243,6 +260,8 @@
                    sr.setProductHome(factory.getId());
                    sr.setReagentFormat(specifications.getId());
                    sr.setReagentUnit(packing.getId());
                    //危险性质
                    sr.setReagentCharacter(baseMeta.getId());
                    //设备生成试剂类型 为3
                    sr.setType(3);
                    sr.setDangerousFlag(DangerousFlag.NORMAL);
@@ -290,6 +309,7 @@
                    opeWarehouseReserve.setArticleNumber(inWarehouseInfo.getArticleNumber());
                    opeWarehouseReserve.setReserve(0);
                    opeWarehouseReserve.setWarehouseId(inWarehouseInfo.getWarehouseId());
                    opeWarehouseReserve.setUserId("admin");
                }
                //库存加1
                opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + 1);
@@ -303,4 +323,35 @@
        }
    }
    @Override
    @Transactional
    public void reagentReceiving(ReagentReceivingDto reagentReceiving) {
        reagentReceiving.getReagentCode().forEach(code->{
                //
            OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(code);
            //1.更新试剂状态  在仓库-》领用
//            ors.setStatus(ArrivalStatus.PERSONAL);
            ors.setContainerId(reagentReceiving.getLabContainerId());
            ors.setHouseId(reagentReceiving.getLabId());
            ors.setUserId(reagentReceiving.getApplyUserId());
            opeReagentStatusService.updateReagentStatus(ors);
        });
    }
    @Override
    @Transactional
    public void updateSysWarehouse2(SysWarehouse sysWarehouse, SysLaboratory sysLaboratory) {
        //1.0更新自己
        this.updateSysWarehouse(sysWarehouse);
        //2.更新实验室
        sysLaboratory.setInfoCode(sysWarehouse.getInfoCode());
        sysLaboratory.setBarCode(sysWarehouse.getBarCode());
        sysLaboratory.setLocation1(sysWarehouse.getLocation1());
        sysLaboratory.setLocation2(sysWarehouse.getLocation2());
        sysLaboratory.setDepartment(sysWarehouse.getDepartment());
        sysLaboratoryService.updateSysLaboratory(sysLaboratory);
    }
}