Browse Source

新增订单项目完成状态

anderx 1 year ago
parent
commit
13dcb0ad6c

+ 31 - 15
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -641,8 +641,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		t.setId(b.getTid());
 		t.setProjectStatus(b.getProjectStatus());
 		t.setTimeRecord(b.getTimeRecord());
-		String date =updateProjectCompleteDate(b.getTimeRecord());
-		t.setCompleteDate(DateUtils.parseDate(date));
+		updateProjectCompleteDate(t,1);
 		t.setCertificateNumber(b.getCertificateNumber());
 		if(b.getSetUpAmount()!=null)t.setSetUpAmount(new BigDecimal(b.getSetUpAmount()));
 		if (b.getPubicityUrl()!=null)t.setPubicityUrl(b.getPubicityUrl());
@@ -2071,38 +2070,55 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	public void pushProjectCompleteDate() {
 		List<TOrderTask> tOrderTasks = tOrderTaskMapper.selectAll();
 		for (TOrderTask e : tOrderTasks) {
-			String date = updateProjectCompleteDate(e.getTimeRecord());
-			if (date != null) {
-				TOrderTask t=new TOrderTask();
-				t.setId(e.getId());
-				t.setCompleteDate(DateUtils.parseDate(date));
-				tOrderTaskMapper.update(t);
-			}
-
+			 updateProjectCompleteDate(e,0);
 		}
 	}
 
-	private String  updateProjectCompleteDate(String timeRecord) {
-		if (StringUtils.isNotEmpty(timeRecord)) {
+	/**
+	 *
+	 * @param e
+	 * @param type =0 是批量处理会修改  =1是修改属性,外部一起修改
+	 */
+	private void  updateProjectCompleteDate(TOrderTask e ,Integer type) {
+		if (StringUtils.isNotEmpty(e.getTimeRecord())) {
 			ObjectMapper mapper = new ObjectMapper();
 			try {
-				Map map = mapper.readValue(timeRecord, Map.class);
+				Map map = mapper.readValue(e.getTimeRecord(), Map.class);
 
 				String[] str={"4","5","6","7","8","9","10","11","13","14","15","16","17","18","19","20","27"};
 				String date = null;
+				boolean flag = false;
 				for (String s : str) {
 					if (StringUtils.isEmpty(date)){
 						String s1 = pushStr(s, map);
 						if (s1!=null)date=s1;
 					}
+					for (String string : str) {
+                        if (string.equals(s)) {
+                            flag = true;
+                            break;
+                        }
+					}
 
 				}
-				return date;
+				//如果是完成则修改成完成
+				if(flag){
+					if (type==1){
+						e.setCompleteStatus(1);
+						e.setCompleteDate(DateUtils.parseDate(date));
+					}else {
+						TOrderTask t=new TOrderTask();
+						t.setId(e.getId());
+						t.setCompleteStatus(1);
+						t.setCompleteDate(DateUtils.parseDate(date));
+						tOrderTaskMapper.update(t);
+					}
+				}
 			} catch (JsonProcessingException ex) {
 				throw new RuntimeException(ex);
 			}
 		}
-		return null;
+
 	}
 
 	private String pushStr(String s,Map map) {