|
package com.example.erp.service.pp;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.example.erp.entity.pp.ProductionScheduling;
|
import com.example.erp.mapper.pp.ProductionSchedulingMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service
|
@DS("pp")
|
public class ProductionSchedulingService {
|
@Autowired
|
ProductionSchedulingMapper productionSchedulingMapper;
|
|
//未排产查询
|
public Map<String, Object> selectSchedulingSv(Integer pageNum, Integer pageSize, String selectTime1, String selectTime2, String orderIds, String processes, Integer state, ProductionScheduling productionScheduling ) {
|
|
Integer offset = (pageNum - 1) * pageSize;
|
Map<String, Object> map = new HashMap<>();
|
if("null".equals(orderIds)){
|
orderIds="";
|
}
|
if ("null".equals(processes)){
|
|
processes="";
|
}
|
|
if (state==2){//已排产
|
map.put("data", productionSchedulingMapper.selectOkSchedulingMp(offset, pageSize,selectTime1, selectTime2,orderIds,processes, productionScheduling));
|
map.put("total", productionSchedulingMapper.getOkPageTotal(offset, pageSize,selectTime1, selectTime2,orderIds,processes, productionScheduling));
|
|
}else if (state==1){//未排产
|
map.put("data", productionSchedulingMapper.selectNoSchedulingMp(offset, pageSize,selectTime1, selectTime2,orderIds,processes, productionScheduling));
|
map.put("total", productionSchedulingMapper.getPageTotal(offset, pageSize,selectTime1, selectTime2,orderIds,processes, productionScheduling));
|
|
}
|
return map;
|
}
|
|
|
//首次查询排产数据
|
public Map<String, Object> selectLastScheduling(String selectTime1, String selectTime2,String processes,String orderId,ProductionScheduling productionScheduling ) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("process", productionSchedulingMapper.selectProcess());
|
return map;
|
}
|
|
|
|
public Boolean addSchedulingSv(Map<String, Object> object) {
|
String userName = "";
|
if (object.get("userName") != null) {
|
userName = object.get("userName").toString();
|
}
|
String processes = "";
|
if (object.get("processes") != null) {
|
processes = object.get("processes").toString();
|
}
|
|
Integer maxId = productionSchedulingMapper.selectMaxId();
|
//查询订单id,并且自增
|
String formattedNumber = String.format("%02d", maxId+1);
|
//格式化当前日期
|
java.util.Date currentDate = new Date();
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
|
String formattedDate = dateFormat.format(currentDate);
|
String schedulingId = "PC"+formattedDate+formattedNumber;
|
|
List<ProductionScheduling> schedulinglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("scheduling")), ProductionScheduling.class);
|
if (!schedulinglist.isEmpty()) {
|
for (ProductionScheduling productionScheduling : schedulinglist) {
|
//查询已排产工序数量
|
// Integer num = productionSchedulingMapper.selectNumberMp(productionScheduling.getOrderId(),productionScheduling.getOrderNumber(),processes);
|
|
productionSchedulingMapper.insertSelective(schedulingId,productionScheduling.getOrderGlassDetail().getOrderId(),productionScheduling.getOrderNumber(),productionScheduling.getTechnologyNumber(),processes,productionScheduling.getSchedulingQuantity(),productionScheduling.getScheduledStartTime(),productionScheduling.getPlanEndTime(),productionScheduling.getNotes());
|
// System.out.println(productionScheduling.getOrderId()+"***"+productionScheduling.getOrderGlassDetail().getOrderId()+"--"+productionScheduling.getOrderDetail().getOrderId());
|
}
|
return true;
|
}
|
else {
|
return false;
|
|
}
|
|
}
|
|
public boolean deleteSchedulingSv(Map<String, Object> object) throws Exception {
|
JSONObject objJson = new JSONObject(object);
|
List<ProductionScheduling> Scheduling = JSONArray.parseArray(JSONObject.toJSONString(objJson.get("scheduling")), ProductionScheduling.class);
|
if (!Scheduling.isEmpty()) {
|
for (ProductionScheduling productionScheduling : Scheduling) {
|
productionSchedulingMapper.deleteSchedulingMp(productionScheduling.getSchedulingId());
|
// System.out.println(productionScheduling.getOrderNumber()+"***"+productionScheduling.getOrderId());
|
}
|
return true;
|
}
|
else {
|
return false;
|
}
|
}
|
|
public boolean examineSchedulingSv(Map<String, Object> object) {
|
String userName = "";
|
if (object.get("userName") != null) {
|
userName = object.get("userName").toString();
|
}
|
List<ProductionScheduling> schedulinglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("scheduling")), ProductionScheduling.class);
|
|
if (!schedulinglist.isEmpty()) {
|
for (ProductionScheduling productionScheduling : schedulinglist) {
|
productionSchedulingMapper.examineSchedulingMp(productionScheduling.getSchedulingId(),userName,productionScheduling.getSchedulingQuantity(),productionScheduling.getNotes());
|
// System.out.println(productionScheduling.getOrderNumber()+"***"+productionScheduling.getOrderId());
|
}
|
return true;
|
}
|
else {
|
return false;
|
}
|
}
|
}
|