whyclxw
6 天以前 2262618a51134d89b0d9390eaff152c7a9dc1f5d
src/main/java/com/whyc/service/WorkflowLinkService.java
@@ -6,10 +6,9 @@
import com.whyc.dto.Response;
import com.whyc.mapper.*;
import com.whyc.pojo.db_user.User;
import com.whyc.pojo.web_site.WorkflowDevice;
import com.whyc.pojo.web_site.WorkflowLink;
import com.whyc.pojo.web_site.WorkflowMain;
import com.whyc.pojo.web_site.*;
import com.whyc.util.CommonUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -31,6 +30,11 @@
    @Autowired
    private WorkflowDeviceService deviceService;
    @Autowired
    private DeviceSpareService deviceSpareService;
    @Autowired
    private DeviceScrapService deviceScrapService;
    public void addBatch(List<WorkflowLink> links) {
@@ -68,7 +72,7 @@
                    link.setDealAndClose(1);
                }
            }break;
            //设备入库申请
            //设备入库申请 TODO 入库影响库存
            case 2:
            //设备报废申请
            case 3:{
@@ -77,6 +81,39 @@
                    mainInDB.setEndTime(now);
                    mainInDB.setEndReason(link.getDealReason());
                    mainService.updateById(mainInDB);
                    List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId());
                    //入库
                    if(mainInDB.getType() == 2){
                        List<DeviceSpare> spareList = new ArrayList<>();
                        deviceListInDB.forEach(device -> {
                            DeviceSpare spare = new DeviceSpare();
                            /*spare.setName(device.getName());
                            spare.setModel(device.getModel());
                            spare.setVersion(device.getVersion());
                            spare.setQuantity(device.getQuantity());
                            spare.setBrand(device.getBrand());
                            spare.setType(device.getType());
                            spare.setSupplier(device.getSupplier());*/
                            BeanUtils.copyProperties(device,spare);
                            spareList.add(spare);
                        });
                        deviceSpareService.addOrUpdate(spareList);
                    }else{ //进入报废库
                        List<DeviceScrap> scrapList = new ArrayList<>();
                        deviceListInDB.forEach(device -> {
                            DeviceScrap deviceScrap = new DeviceScrap();
                            BeanUtils.copyProperties(device,deviceScrap);
                            deviceScrap.setApplyUserId(mainInDB.getCreateUserId());
                            deviceScrap.setApplyUserName(mainInDB.getCreateUserName());
                            deviceScrap.setCreateTime(now);
                            deviceScrap.setMainId(mainInDB.getId());
                            scrapList.add(deviceScrap);
                        });
                        deviceScrapService.add(scrapList);
                    }
                }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){
                    mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue());
                    mainInDB.setEndReason(link.getDealRejectReason());