|
@@ -4,6 +4,7 @@ import com.iamberry.rst.core.page.PageRequest;
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
import com.iamberry.rst.core.pts.*;
|
|
import com.iamberry.rst.core.pts.*;
|
|
import com.iamberry.rst.core.tools.QRCJson;
|
|
import com.iamberry.rst.core.tools.QRCJson;
|
|
|
|
+import com.iamberry.rst.core.tools.QrCodeUtil;
|
|
import com.iamberry.rst.core.tools.WeixinUtil;
|
|
import com.iamberry.rst.core.tools.WeixinUtil;
|
|
import com.iamberry.rst.faces.pts.*;
|
|
import com.iamberry.rst.faces.pts.*;
|
|
import com.iamberry.wechat.tools.NameUtils;
|
|
import com.iamberry.wechat.tools.NameUtils;
|
|
@@ -18,14 +19,19 @@ import org.springframework.ui.ModelMap;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
+import org.springframework.web.context.ContextLoader;
|
|
|
|
+import org.springframework.web.context.WebApplicationContext;
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
|
|
+import javax.servlet.ServletContext;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.xml.crypto.Data;
|
|
import javax.xml.crypto.Data;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
import java.text.NumberFormat;
|
|
import java.text.NumberFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
+import static com.iamberry.rst.util.SmsConfig.scanningQrCode;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Created by LJK on 2017/8/29.
|
|
* Created by LJK on 2017/8/29.
|
|
*/
|
|
*/
|
|
@@ -88,6 +94,11 @@ public class AdminMachineController {
|
|
sb.append(ptsMachine.getMachineProcessState());
|
|
sb.append(ptsMachine.getMachineProcessState());
|
|
mv.addObject("machineProcessState", ptsMachine.getMachineProcessState());
|
|
mv.addObject("machineProcessState", ptsMachine.getMachineProcessState());
|
|
}
|
|
}
|
|
|
|
+ if (ptsMachine.getMachineProduceType() != null && ptsMachine.getMachineProduceType() != -1) {
|
|
|
|
+ sb.append("&machineProduceType=");
|
|
|
|
+ sb.append(ptsMachine.getMachineProduceType());
|
|
|
|
+ mv.addObject("machineProduceType", ptsMachine.getMachineProduceType());
|
|
|
|
+ }
|
|
|
|
|
|
PageRequest<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
|
|
PageRequest<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
|
|
PagedResult<PtsMachine> pagedResult = machineService.listMachine(pageRequest);
|
|
PagedResult<PtsMachine> pagedResult = machineService.listMachine(pageRequest);
|
|
@@ -124,6 +135,22 @@ public class AdminMachineController {
|
|
}
|
|
}
|
|
return machineService.listLatestMachine(Integer.valueOf(machineId));
|
|
return machineService.listLatestMachine(Integer.valueOf(machineId));
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ * 查询最新牙刷信息
|
|
|
|
+ *
|
|
|
|
+ * @param request
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @RequiresPermissions("machine:latest_all:machine")
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping("/_LatestTooth_list")
|
|
|
|
+ public List<PtsMachine> listLatestTooth(HttpServletRequest request) {
|
|
|
|
+ String machineId = request.getParameter("machineId");
|
|
|
|
+ if (machineId == null || machineId.equals("")) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ return machineService.listLatestTooth(Integer.valueOf(machineId));
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 修改机器打印状态为已打印
|
|
* 修改机器打印状态为已打印
|
|
@@ -160,9 +187,8 @@ public class AdminMachineController {
|
|
@RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
|
|
@RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
|
|
ModelAndView mv = new ModelAndView("pts/machine/machine_print_List");
|
|
ModelAndView mv = new ModelAndView("pts/machine/machine_print_List");
|
|
mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : String.valueOf(ptsMachine.getMachineIsPrint()));
|
|
mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : String.valueOf(ptsMachine.getMachineIsPrint()));
|
|
-
|
|
|
|
StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize);
|
|
StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize);
|
|
-
|
|
|
|
|
|
+ ptsMachine.setMachineProduceType(0);
|
|
if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印
|
|
if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印
|
|
List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
|
|
List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
|
|
mv.addObject("machineList", machineList);
|
|
mv.addObject("machineList", machineList);
|
|
@@ -188,6 +214,48 @@ public class AdminMachineController {
|
|
return mv;
|
|
return mv;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询电动牙刷打印列表
|
|
|
|
+ *
|
|
|
|
+ * @return
|
|
|
|
+ * @author LJK
|
|
|
|
+ * @date 2017年8月31日16:08:15
|
|
|
|
+ */
|
|
|
|
+ @RequiresPermissions("machine:select_all:machine")
|
|
|
|
+ @RequestMapping("/_tooth_print_list")
|
|
|
|
+ public ModelAndView listPrintTooth(HttpServletRequest request, PtsMachine ptsMachine,
|
|
|
|
+ @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
|
|
|
|
+ @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
|
|
|
|
+ @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
|
|
|
|
+ ModelAndView mv = new ModelAndView("pts/machine/tooth_print_List");
|
|
|
|
+ mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : String.valueOf(ptsMachine.getMachineIsPrint()));
|
|
|
|
+
|
|
|
|
+ StringBuilder sb = new StringBuilder("/admin/machine/_tooth_print_list?pageSize=" + pageSize);
|
|
|
|
+ if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印
|
|
|
|
+ List<PtsMachine> machineList = machineService.listPrintOrderTooth(ptsMachine);
|
|
|
|
+ mv.addObject("machineList", machineList);
|
|
|
|
+ } else { //已打印
|
|
|
|
+ PagedResult<PtsMachine> pagedResult = machineService.getPrintOrderToothList(pageNO, pageSize, ptsMachine, totalNum == 0);
|
|
|
|
+ if (totalNum != 0) {
|
|
|
|
+ pagedResult.setTotal(totalNum);
|
|
|
|
+ pagedResult.setPages((int) Math.ceil((double) totalNum / pageSize));
|
|
|
|
+ }
|
|
|
|
+ sb.append("&machineIsPrint=");
|
|
|
|
+ if (ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() == 2) {
|
|
|
|
+ sb.append(ptsMachine.getMachineIsPrint());
|
|
|
|
+ }
|
|
|
|
+ sb.append("&totalNum=");
|
|
|
|
+ sb.append(totalNum == 0 ? pagedResult.getTotal() : totalNum);
|
|
|
|
+ sb.append("&pageNO=");
|
|
|
|
+ mv.addObject("page", pagedResult);
|
|
|
|
+ mv.addObject("url", sb.toString());
|
|
|
|
+ }
|
|
|
|
+ //查询最新一条机器id
|
|
|
|
+ Integer machineId = machineService.maxToothId();
|
|
|
|
+ mv.addObject("machineId", machineId);
|
|
|
|
+ return mv;
|
|
|
|
+ }
|
|
/**
|
|
/**
|
|
* 查询机器关联的产品信息
|
|
* 查询机器关联的产品信息
|
|
*
|
|
*
|
|
@@ -492,20 +560,23 @@ public class AdminMachineController {
|
|
String num = null;
|
|
String num = null;
|
|
for (int i = 0; i < Integer.valueOf(number); i++) {
|
|
for (int i = 0; i < Integer.valueOf(number); i++) {
|
|
machineNumber = machineNumber + i;
|
|
machineNumber = machineNumber + i;
|
|
- switch (String.valueOf(machineNumber + 1).length()) {
|
|
|
|
|
|
+ switch (String.valueOf(machineNumber).length()) {
|
|
case 0:
|
|
case 0:
|
|
- num = "0001";
|
|
|
|
|
|
+ num = "00001";
|
|
break;
|
|
break;
|
|
case 1:
|
|
case 1:
|
|
- num = "000" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "0000" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- num = "00" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "000" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
- num = "0" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "00" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 4:
|
|
case 4:
|
|
|
|
+ num = "00" + String.valueOf(machineNumber);
|
|
|
|
+ break;
|
|
|
|
+ case 5:
|
|
num = String.valueOf(machineNumber);
|
|
num = String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -609,12 +680,13 @@ public class AdminMachineController {
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RequiresPermissions("machine:add:batch")
|
|
@RequiresPermissions("machine:add:batch")
|
|
@RequestMapping("/add_renovationMachine")
|
|
@RequestMapping("/add_renovationMachine")
|
|
- public ResponseJson addRenovationMachine(HttpServletRequest request, Integer batchId, Integer number,Integer isRefurbishment,String machineLine) {
|
|
|
|
|
|
+ public ResponseJson addRenovationMachine(HttpServletRequest request, Integer batchId, Integer number,Integer isRefurbishment,String machineLine,Integer productType) {
|
|
ResponseJson rj = new ResponseJson();
|
|
ResponseJson rj = new ResponseJson();
|
|
- if (batchId == null || isRefurbishment == null || machineLine == null) {
|
|
|
|
|
|
+ if (batchId == null || isRefurbishment == null || machineLine == null || productType == null) {
|
|
rj.setReturnCode(500);
|
|
rj.setReturnCode(500);
|
|
return rj;
|
|
return rj;
|
|
}
|
|
}
|
|
|
|
+
|
|
PtsBatch ptsBatch = new PtsBatch();
|
|
PtsBatch ptsBatch = new PtsBatch();
|
|
ptsBatch.setBatchId(batchId);
|
|
ptsBatch.setBatchId(batchId);
|
|
ptsBatch = ptsBatchService.getPtsBatch(ptsBatch);
|
|
ptsBatch = ptsBatchService.getPtsBatch(ptsBatch);
|
|
@@ -631,9 +703,6 @@ public class AdminMachineController {
|
|
if (number == null || number < 1) {
|
|
if (number == null || number < 1) {
|
|
number = ptsBatch.getBatchQuantity();
|
|
number = ptsBatch.getBatchQuantity();
|
|
}
|
|
}
|
|
-
|
|
|
|
- /*获取公众号信息*/
|
|
|
|
- WechatMp wechatMp = produceService.getWechatMpById(produce.getWechatMpId());
|
|
|
|
ArrayList<PtsMachine> ptsList = new ArrayList<PtsMachine>();
|
|
ArrayList<PtsMachine> ptsList = new ArrayList<PtsMachine>();
|
|
//生成条形码前缀
|
|
//生成条形码前缀
|
|
String berQrcode = generationBarCode(produce);
|
|
String berQrcode = generationBarCode(produce);
|
|
@@ -653,25 +722,51 @@ public class AdminMachineController {
|
|
machineNumber++;
|
|
machineNumber++;
|
|
switch (String.valueOf(machineNumber).length()) {
|
|
switch (String.valueOf(machineNumber).length()) {
|
|
case 0:
|
|
case 0:
|
|
- num = "0001";
|
|
|
|
|
|
+ num = "00001";
|
|
break;
|
|
break;
|
|
case 1:
|
|
case 1:
|
|
- num = "000" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "0000" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- num = "00" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "000" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
- num = "0" + String.valueOf(machineNumber);
|
|
|
|
|
|
+ num = "00" + String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
case 4:
|
|
case 4:
|
|
|
|
+ num = "00" + String.valueOf(machineNumber);
|
|
|
|
+ break;
|
|
|
|
+ case 5:
|
|
num = String.valueOf(machineNumber);
|
|
num = String.valueOf(machineNumber);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode + num);
|
|
|
|
- QRCJson qrc = WeixinUtil.createQrcodeByWechatMp(json,wechatMp.getWechatMpAppid(),wechatMp.getWechatMpAppsecret(),wechatMp.getWechatMpPubno());
|
|
|
|
|
|
+ String qrCodeUrl = null;
|
|
|
|
+ //判断机器是水机or牙刷
|
|
|
|
+ if(productType == 3){
|
|
|
|
+ //获取项目地址
|
|
|
|
+ WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
|
|
|
|
+ ServletContext servletContext = webApplicationContext.getServletContext();
|
|
|
|
+ String realPath = servletContext.getRealPath(ResultInfo.QRCODE_TOOTH_IMAGE);
|
|
|
|
+ boolean bl = false;
|
|
|
|
+ try {
|
|
|
|
+ bl = QrCodeUtil.createQrCode(scanningQrCode+berQrcode+num,realPath+"/"+berQrcode+num+".",430,430);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ if(bl){
|
|
|
|
+ StringBuffer url = request.getRequestURL();
|
|
|
|
+ String tempContextUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).append(request.getContextPath()).append("/").toString();
|
|
|
|
+ qrCodeUrl = tempContextUrl +ResultInfo.QRCODE_TOOTH_IMAGE+ "/"+berQrcode+num+".png";
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ /*获取公众号信息*/
|
|
|
|
+ WechatMp wechatMp = produceService.getWechatMpById(produce.getWechatMpId());
|
|
|
|
+ String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode + num);
|
|
|
|
+ QRCJson qrc = WeixinUtil.createQrcodeByWechatMp(json,wechatMp.getWechatMpAppid(),wechatMp.getWechatMpAppsecret(),wechatMp.getWechatMpPubno());
|
|
|
|
+ qrCodeUrl = qrc.getUrl();
|
|
|
|
+ }
|
|
PtsMachine ptsMachine = new PtsMachine();
|
|
PtsMachine ptsMachine = new PtsMachine();
|
|
- ptsMachine.setMachineQrcode(qrc.getUrl());//二维码
|
|
|
|
|
|
+ ptsMachine.setMachineQrcode(qrCodeUrl);//二维码
|
|
ptsMachine.setMachineBarcode(berQrcode + num);//条形码
|
|
ptsMachine.setMachineBarcode(berQrcode + num);//条形码
|
|
ptsMachine.setMachineStatus(1);//机器状态
|
|
ptsMachine.setMachineStatus(1);//机器状态
|
|
ptsMachine.setMachineProducedTime(new Date());//生产时间
|
|
ptsMachine.setMachineProducedTime(new Date());//生产时间
|
|
@@ -679,7 +774,7 @@ public class AdminMachineController {
|
|
ptsMachine.setMachineCompoundImg("合成的图片url");
|
|
ptsMachine.setMachineCompoundImg("合成的图片url");
|
|
ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常
|
|
ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常
|
|
ptsMachine.setMachineCreateTime(new Date());//创建时间
|
|
ptsMachine.setMachineCreateTime(new Date());//创建时间
|
|
- ptsMachine.setMachineProduceType(produce.getProduceType());//产品类型
|
|
|
|
|
|
+ ptsMachine.setMachineProduceType(productType);//产品类型
|
|
ptsMachine.setMachineNfcId(productNfcId);
|
|
ptsMachine.setMachineNfcId(productNfcId);
|
|
//ptsMachine.setMachineHardwareVersion(ptsBom.getBomId());
|
|
//ptsMachine.setMachineHardwareVersion(ptsBom.getBomId());
|
|
ptsMachine.setMachineSoftwareVersion(ptsBatch.getBatchSoftwareVersionId());
|
|
ptsMachine.setMachineSoftwareVersion(ptsBatch.getBatchSoftwareVersionId());
|