|  |  | 
 |  |  | import com.zy.common.CodeRes; | 
 |  |  | import com.zy.common.entity.PlaExcel; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import com.zy.system.entity.OperateLog; | 
 |  |  | import com.zy.system.service.OperateLogService; | 
 |  |  | import lombok.Synchronized; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.BeanUtils; | 
 |  |  | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | import org.springframework.web.multipart.MultipartFile; | 
 |  |  |  | 
 |  |  | import javax.annotation.Resource; | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.net.URLEncoder; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | @Slf4j | 
 |  |  | 
 |  |  |     private MatService matService; | 
 |  |  |     @Autowired | 
 |  |  |     private SnowflakeIdWorker snowflakeIdWorker; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private OperateLogService operateLogService; | 
 |  |  |  | 
 |  |  |     // 获取下拉选择框值列表 | 
 |  |  |     @GetMapping(value = "/pla/dropdownValues/list") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R list() { | 
 |  |  |         List<DropdownValuesDto> list = plaService.getDropdownValues(); | 
 |  |  |         Map<String, List<String>> map = new HashMap<>(); | 
 |  |  |  | 
 |  |  |         // owner 去重并加入 map | 
 |  |  |         List<String> owners = list.stream() | 
 |  |  |                 .filter(dropdownValuesDto -> dropdownValuesDto.getType().equals("owner")) | 
 |  |  |                 .map(DropdownValuesDto::getValue) | 
 |  |  |                 .collect(Collectors.toList()); | 
 |  |  |         map.put("owner", owners); | 
 |  |  |  | 
 |  |  |         // workshop 去重并加入 map | 
 |  |  |         List<String> workshops = list.stream() | 
 |  |  |                 .filter(dropdownValuesDto -> dropdownValuesDto.getType().equals("workshop")) | 
 |  |  |                 .map(DropdownValuesDto::getValue) | 
 |  |  |                 .collect(Collectors.toList()); | 
 |  |  |         map.put("workshop", workshops); | 
 |  |  |         return R.ok(map); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/pla/list/auth") | 
 |  |  | 
 |  |  |     @RequestMapping(value = "/pla/update/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R update(@RequestBody List<Pla> plas) { | 
 |  |  |         log.info(plas.toString()); | 
 |  |  |         Date date = new Date(); | 
 |  |  |         plas.forEach(pla -> { | 
 |  |  |             Pla plaSave = plaService.selectById(pla.getId()); | 
 |  |  |             pla.setModifyTime(new Date()); | 
 |  |  | 
 |  |  |             PlaLog plaLog = new PlaLog(); | 
 |  |  |             BeanUtils.copyProperties(plaSave, plaLog); | 
 |  |  |             plaLog.setId(null); | 
 |  |  |             plaLog.setCreateTime(new Date()); | 
 |  |  |             plaLog.setCreateTime(date); | 
 |  |  |             plaLog.setModifyUser(getUser().getUsername()); | 
 |  |  |             plaLogService.insert(plaLog); | 
 |  |  |  | 
 |  |  |             // 记录操作日志 | 
 |  |  |             OperateLog operateLog = new OperateLog(); | 
 |  |  |             operateLog.setAction("聚乳酸库存明细修改"); | 
 |  |  |             operateLog.setUserId(getUserId()); | 
 |  |  |             operateLog.setIp(request.getRemoteAddr()); | 
 |  |  |             operateLog.setRequest(pla.toString()); | 
 |  |  |             operateLog.setResponse(plaSave.toString()); | 
 |  |  |             operateLog.setCreateTime(new Date()); | 
 |  |  |             operateLogService.insert(operateLog); | 
 |  |  |  | 
 |  |  |         }); | 
 |  |  |         return R.ok(); | 
 |  |  | 
 |  |  |  | 
 |  |  |         for (Pla pla : plas) { | 
 |  |  |             // 获取最新冻结状态 | 
 |  |  |             Pla pla1 = plaService.selectOne(new EntityWrapper<Pla>().setSqlSelect("stock_freeze as stockFreeze").eq("id", pla.getId())); | 
 |  |  |             Pla pla1 = plaService.selectOne(new EntityWrapper<Pla>().setSqlSelect("stock_freeze as stockFreeze,stock_freeze_by as stockFreezeBy,stock_freeze_date as stockFreezeDate").eq("id", pla.getId())); | 
 |  |  |             pla.setStockFreeze(pla1.getStockFreeze()); | 
 |  |  |             pla.setStockFreezeBy(pla1.getStockFreezeBy()); | 
 |  |  |             pla.setStockFreezeDate(pla1.getStockFreezeDate()); | 
 |  |  | 
 |  |  |             pla.setQtyAnfme(pla.getQtyAnfme() + pla.getOrderWeight()); | 
 |  |  |             pla.setHandlerBy(getUser().getUsername()); | 
 |  |  |             pla.setStatus(GlobleParameter.PLA_STATUS_2); | 
 |  |  |             log.info("修改为待出库,地址:{},数据:{}","/pla/sellout/auth", pla); | 
 |  |  |             pla.setModifyTime(new Date()); | 
 |  |  |             pla.setPakoutTime(pla.getPakoutTime().split("\\(")[0]); | 
 |  |  |             //生成此次作业信息 |