|  |  |  | 
|---|
|  |  |  | import com.dy.common.springUtil.SpringContextUtil; | 
|---|
|  |  |  | import com.dy.pmsGlobal.daoOth.OthStatisticWorkloadMapper; | 
|---|
|  |  |  | import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; | 
|---|
|  |  |  | import com.dy.pmsGlobal.daoPr.PrOrderItemMapper; | 
|---|
|  |  |  | import com.dy.pmsGlobal.daoPr.PrOrderMapper; | 
|---|
|  |  |  | import com.dy.pmsGlobal.daoSta.*; | 
|---|
|  |  |  | import com.dy.pmsGlobal.pojoPr.PrOrder; | 
|---|
|  |  |  | import com.dy.pmsGlobal.pojoPr.PrOrderItem; | 
|---|
|  |  |  | import com.dy.pmsGlobal.pojoSta.*; | 
|---|
|  |  |  | import com.dy.pmsGlobal.util.UserUtil; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.dubbo.common.utils.PojoUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.math.RoundingMode; | 
|---|
|  |  |  | import java.time.LocalDate; | 
|---|
|  |  |  | import java.time.LocalDateTime; | 
|---|
|  |  |  | import java.time.LocalTime; | 
|---|
|  |  |  | 
|---|
|  |  |  | private StaRepairInfoMapper repairInfoDao; | 
|---|
|  |  |  | private PrAssemblyPlanMapper assemblyPlanDao; | 
|---|
|  |  |  | private OthStatisticWorkloadMapper workloadDao; | 
|---|
|  |  |  | private PrOrderMapper orderDao; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | public void setOrderDao(PrOrderMapper orderDao) { | 
|---|
|  |  |  | this.orderDao = orderDao; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return map.values().stream().collect(Collectors.toList());*/ | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public List<JSONObject> queryOrderList() { | 
|---|
|  |  |  | List<JSONObject> list = assemblyPlanDao.queryPlanList(); | 
|---|
|  |  |  | /* Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(); | 
|---|
|  |  |  | List<PrOrder> orderList = orderDao.selectAll(params); | 
|---|
|  |  |  | for (PrOrder prOrder : orderList) { | 
|---|
|  |  |  | changeRate(prOrder); | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void changeRate(PrOrder prOrder) { | 
|---|
|  |  |  | if (prOrder != null && prOrder.items != null) { | 
|---|
|  |  |  | List<PrOrderItem> items = prOrder.items; | 
|---|
|  |  |  | for (int i = 1; i < items.size(); i++) { | 
|---|
|  |  |  | for (int j = i - 1; j >= 0; j--) { | 
|---|
|  |  |  | //拿着i依次跟上一个比较,如果产品相同,则上一个记录complete_number - number 如果 > 0 分给i ,如果 < 0 则将 complete_number 置为0 | 
|---|
|  |  |  | if (items.get(j).getProId().intValue() == items.get(i).getProId().intValue()) { | 
|---|
|  |  |  | int remainNumber = items.get(j).getCompleteNumber() - items.get(j).getNumber(); | 
|---|
|  |  |  | if (remainNumber > 0) { | 
|---|
|  |  |  | items.get(j).setCompleteNumber(items.get(j).getNumber()); | 
|---|
|  |  |  | items.get(j).setCompleteRate("100.00%"); | 
|---|
|  |  |  | items.get(i).setCompleteNumber(remainNumber); | 
|---|
|  |  |  | BigDecimal remainBig = new BigDecimal(remainNumber * 100); | 
|---|
|  |  |  | BigDecimal iNumberBig = new BigDecimal(items.get(i).getNumber()); | 
|---|
|  |  |  | BigDecimal result = remainBig.divide(iNumberBig, 2, RoundingMode.HALF_UP); | 
|---|
|  |  |  | items.get(i).setCompleteRate(result.toString() + "%"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | items.get(i).setCompleteNumber(0); | 
|---|
|  |  |  | items.get(i).setCompleteRate("0.00%"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|