基于javaweb+mysql的ssm+maven医药进销存系统(java+ssm+jsp+layui+jquery+maven+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven医药进销存系统(java+ssm+jsp+layui+jquery+maven+mysql)
功能介绍
医药进销存系统,主要功能包括:
公告管理:发布公告、公告列表; 生产管理:订单列表、增加生产、订单日志; 分店采购:分店审核、采购; 总店仓库:出库管理、仓库列表、入库管理; 分店管理:分店库存、分店列表、分店财务; 商品管理:原材料、药效、商品列表、药品类型; 总店采购:采购列表、采购审核; 合同管理:合同类型管理、合同列表; 会员管理:会员列表; 质检:质检; 权限管理:人员管理、模块管理、部门管理、角色管理; 审核管理:财务审核、生产审核、采购审核; 分店销售:销售统计图、订单批发审核、订单列表、分店销售; 该项目共有49张表,功能比较复杂;
其他管理:供货商管理,新增、搜索、编辑、删除;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;
技术栈
- 后端:Spring SpringMVC MyBatis 2. 前端:JSP+Layui+jQuery
运行说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 3. 将项目中db.properties和spring.xml配置文件中的数据库配置改为自己的配置;
-
运行项目,输入http://localhost:8080/medicine/page/login.jsp 登录
map.put("kinId",list.get(i).getKinId());//map赋值-商品ID-明细订单集合第i个中的商品ID map.put("kmpNum",list.get(i).getKmpNum());//map赋值-商品数量-明细订单集合第i个中的商品数量 mapList.add(map);//把map加入到map集合 } int row3 = sumstockDao.updateStockSuount(mapList);//分店库存:批量减少库存(根据分店ID和商品ID减少) if(row3<1){//如果减少库存的影响行数小于1 return 0;//返回0 } //增加财务(先增加分店收入明细,再增加分店表的总资产) /* 增加分店收入明细 */ ErpLedgyr ledgyr = new ErpLedgyr();//实例化一个分店财务模型 ledgyr.setGyrId(UUID.randomUUID()+"");//赋值-分店财务ID-随机生成 ledgyr.setSaleId(sctockmp.getSaleId());//赋值-分店销售ID ledgyr.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID ledgyr.setGyrSreial(UUID.randomUUID()+"");//赋值-分店支出收入编号-随机生成 ledgyr.setGyrPrice(sctockmp.getSaleMoney1());//赋值-分店支出金钱-订单中的应付金额 ledgyr.setCreater(sctockmp.getCreater());//赋值-创建人-订单中的创建人 ledgyr.setCreatetime(sctockmp.getCreatetime()+"");//赋值-创建时间-订单中的创建时间 int row4 = ledgyrDao.insertSelective(ledgyr);//分店财务:增加(可以为空) if(row4<1){//如果增加的影响行数小于1 return 0; } /* 增加分店表的总资产 */ ErpAnnex annex = new ErpAnnex();//实例化一个分店模型 annex.setAnnexId(sctockmp.getAnnexId());//分店赋值-分店ID-订单中的分店ID annex.setAnnexPrice(sctockmp.getSaleMoney1());//分店赋值-分店总资产-订单中的应付金额 int row5 = annexDao.updateAnnexPriceAdd(annex);//分店:增加分店的总资产 if(row5<1){//如果 增加分店的总资产 的影响行数小于1 return 0; } } int rows = row1+row2; return rows; } @Override public List<Map<String, Object>> findAll(Map<String, Object> sctockmpMap) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//实例化一个map集合 List<Map<String, Object>> sctockmpList = sctockmpDao.findAll(sctockmpMap);//订单:查询订单列表 //把订单时间转换为字符串 for (Iterator iterator = sctockmpList.iterator(); iterator.hasNext();) {//迭代器循环-订单列表 Map<String, Object> mapList = (Map<String, Object>) iterator.next(); mapList.put("SALE_DATE", mapList.get("SALE_DATE")+"");//把map中的订单时间重新赋值-订单时间+‘’ list.add(mapList);//加入到map集合 } return list; }
复制
/** * 分店销售订单service实现接口 */ @Service public class SctockmpServiceImpl implements SctockmpService{ @Resource ErpSctockmpMapper sctockmpDao;//分店销售订单 @Resource ErpSctockmpDetailMapper sctockmpDetailDao;//分店销售订单明细 @Resource ErpSumstockMapper sumstockDao;//分店库存表 @Resource ErpLedgyrMapper ledgyrDao;//分店财务 @Resource ErpAnnexMapper annexDao;//分店表 @Resource ErpAuditMapper auditDao;//审核表 @Override public int addSctockmp(ErpSctockmp sctockmp, List<ErpSctockmpDetail> list) { //增加销售订单 int row1 = sctockmpDao.insertSelective(sctockmp);//订单:增加(可以为空) //增加销售订单明细 int row2 = sctockmpDetailDao.addSctockmpDetailList(list);//订单明细:批量增加销售订单明细 //如果为零售(则需减库存,增加财务) if(sctockmp.getSaleIfWholesale()==0){//如果销售订单对象的是否批发 等于零的时候 //减库存 List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();//实例化一个map集合 for(int i =0;i<list.size();i++){//循环分店销售订单明细集合 Map<String, Object> map = new HashMap<String, Object>();//实例化map集合 map.put("annexId",sctockmp.getAnnexId());//map赋值-分店ID-订单中的分店ID map.put("kinId",list.get(i).getKinId());//map赋值-商品ID-明细订单集合第i个中的商品ID map.put("kmpNum",list.get(i).getKmpNum());//map赋值-商品数量-明细订单集合第i个中的商品数量 mapList.add(map);//把map加入到map集合 } int row3 = sumstockDao.updateStockSuount(mapList);//分店库存:批量减少库存(根据分店ID和商品ID减少) if(row3<1){//如果减少库存的影响行数小于1 return 0;//返回0 } //增加财务(先增加分店收入明细,再增加分店表的总资产)
复制
mapList.add(map);//把map加入map集合 } sumstockDao.updateStockSuount(mapList);//无返回-库存:批量减少库存(根据分店ID和商品ID减少) //增加财务(先增加分店收入明细,再增加分店表的总资产) /* 增加分店收入明细 */ ErpLedgyr ledgyr = new ErpLedgyr();//实例化一个分店财务模型 ledgyr.setGyrId(UUID.randomUUID()+"");//赋值-分店财务ID-随机生成 ledgyr.setSaleId(sctockmp.getSaleId());//赋值-订单中的分店销售ID ledgyr.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID ledgyr.setGyrSreial(UUID.randomUUID()+"");//赋值-分店支出收入编号-随机生成 ledgyr.setGyrPrice(sctockmp.getSaleMoney1());//赋值-分店支出金钱-订单中的应付金额 ledgyr.setCreater(sctockmp.getCreater());//赋值-创建人-订单中的创建人 ledgyr.setCreatetime(sctockmp.getCreatetime()+"");//赋值-创建时间-订单中的创建时间 ledgyrDao.insertSelective(ledgyr);//无返回-分店财务:增加(可以为空) /* 增加分店表的总资产 */ ErpAnnex annex = new ErpAnnex();//实例化一个分店模型 annex.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID annex.setAnnexPrice(sctockmp.getSaleMoney1());//赋值-分店总资产-订单中的应付金额 annexDao.updateAnnexPriceAdd(annex);//无返回-分店:增加分店的总资产 } //增加审核表 ErpAudit audit = new ErpAudit();//实例化一个审核类 audit.setBusinessId(saleId);//审核赋值-业务ID-订单ID audit.setAudSerial(UUID.randomUUID()+"");//赋值-审核编号-随机生产 ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到Session中的员工对象 audit.setAudName(staff.getStaName());//赋值-审核人-员工姓名 audit.setAudTime(Tools.getCurDateTime());//赋值-审核时间-工具类:得到当前日期时间 audit.setState(2);//赋值-审核状态-2 audit.setCreatetime(Tools.getCurDateTime());//赋值-创建时间-工具类:得到当前日期时间 audit.setCreater(staff.getStaId());//赋值-创建人-员工ID audit.setIsva(1);//赋值-是否有效-是 auditDao.insertSelective(audit);//无返回-审核:增加(可以为空) //最后增加订单状态 return sctockmpDao.updateWholesaleStateAdd(saleId);//订单:审核通过,增加批发状态 } @Override public int updateWholesaleStateZero(String saleId,String feedBack,HttpSession session) { //增加审核表
复制
map.put("data", list); //将0传入map,取名为code map.put("code",0); //将空传入map 取名为msg map.put("msg", ""); //返回map return map; } /** * 根据id查询 * @return 返回list */ @RequestMapping("/findByID") @ResponseBody public ErpPact findByID(String pactId){ //合同表 合同方法查找单个对象 返回合同 ErpPact pact=erpPactService.selectByPrimaryKey(pactId); //返回合同 return pact; } /** * 根据id查询 * @return 返回list */ @RequestMapping("/findByshowid") @ResponseBody public Map<String, Object> findByshowid(String pactId){ //map 合同方法根据合同id查询供货商和合同详情 返回合同 Map<String, Object> pact=erpPactService.selectshowid(pactId); //返回合同 return pact; } } /** * XLe1丶 */
复制
mes.setState(1); }else{ //消息类的消息值赋值为失败 mes.setMes("操作失败"); //将消息类的状态赋值为0 mes.setState(0); } //返回消息类 return mes; } /** * 增加类型 * @param record 类型对象 * @return 返回信息类 */ @RequestMapping("insertSelectivePact") @ResponseBody public SsmMessage insertSelectivePact(ErpPact record,HttpSession session){ //给订单采购的id赋值为订单采购的id record.setPurId(record.getPurId()); //给供货商的id赋值为供货商的id record.setApplyId(record.getApplyId()); //给合同类型的id赋值为合同类型的id record.setPatypeId(record.getPatypeId()); //给合同的标题赋值为合同的标题 record.setPactTitle(record.getPactTitle()); //给合同的编号赋值为工具类中的得到订单编码格式:日期格式如:20161222211800,分别代表的是年月日时分秒+5位随机字符串 record.setPactNumber("HT-"+Tools.getDateOrderNo()); //初始化时间对象 Date date=new Date(); //将合同的时间赋值为初始化的时间 record.setPactSigntime(date); //给合同内容赋值为合同的内容 record.setPactText(record.getPactText()); //给合同id赋值为合同id record.setPactId(record.getPactId()); //得到session中的人员对象staff ErpStaff staff = (ErpStaff) session.getAttribute("staff"); //给名字赋值为人员staff的名字
复制
//分页工具类的每页最大显示条数 ps.setMaxResult(limit); //将分页工具类开始的行数传入给第二个map pagmap.put("page", ps.getFirstRows());//把页数传到map //将分页工具类每页最大显示条数传入给第二个map pagmap.put("limit", ps.getMaxResult());//把页数传到map //上面属性最后一个属性关键字查询 pagmap.put("key", key);//关键字 //合同方法查询所有方法 返回list List<ErpPact> list=erpPactService.selectshow(pagmap); //layui数据表格需要返回的参数 合同总行数 map.put("count",erpPactService.findRowCount(pagmap));//总行数 //将list传入map 取名为data map.put("data", list); //将0传入map,取名为code map.put("code",0); //将空传入map 取名为msg map.put("msg", ""); //返回map return map; } /** * 根据id查询 * @return 返回list */ @RequestMapping("/findByID") @ResponseBody public ErpPact findByID(String pactId){ //合同表 合同方法查找单个对象 返回合同 ErpPact pact=erpPactService.selectByPrimaryKey(pactId); //返回合同 return pact; } /** * 根据id查询 * @return 返回list */ @RequestMapping("/findByshowid") @ResponseBody public Map<String, Object> findByshowid(String pactId){ //map 合同方法根据合同id查询供货商和合同详情 返回合同 Map<String, Object> pact=erpPactService.selectshowid(pactId);
复制
} /** * 查询所有商品,下拉框 * @param session * @return * @throws JsonProcessingException */ @RequestMapping("/showListAjax") @ResponseBody //ajax的注解 public List<ErpKinds> showListAjax(){ List<ErpKinds> list = service.findStation();//查询所有商品 return list; } /** * 根据ID查询 * @param session * @return * @throws JsonProcessingException */ @RequestMapping("/findById") @ResponseBody //ajax的注解 public ErpKinds findById(ErpKinds kinds){ ErpKinds list = service.selectByPrimaryKey(kinds.getKinId());//查询所有商品 return list; } /** * 查询单个对象仓库使用方法 * @param kinId 商品id * @return 返回药品单个对象 */ @RequestMapping("/selectByPrimaryNewKinId") @ResponseBody //ajax的注解 public ErpKinds selectByPrimaryNewKinId(String kinId){ return service.selectByPrimaryNewKinId(kinId); } /** * Excel导入 * @param file Excel文件 * @param session HttpSession * @return 是否成功
复制
} /** * */ /** * 采购订单Action */ @Controller @RequestMapping("Purchase") public class ErpPurchaseAction { /** * 注入采购订单Service */ @Resource private ErpPurchaseService erpPurchaseService; /** * 注入原材料Service */ @Resource
复制
pages.setCurPage(page); pages.setMaxResult(limit); staff.setPage(pages.getFirstRows()); staff.setLimit(limit); List<ErpStaff>list = staffService.findAll(staff); map.put("count", staffService.findRowCount(staff)); map.put("data", list); map.put("code",0); map.put("msg", ""); return map; } @ResponseBody @RequestMapping("getStaff") public String getStaff() throws JsonProcessingException{ ObjectMapper objectMapper = new ObjectMapper(); List<ErpStaff>list = staffService.getStaff(); String jsonString = objectMapper.writeValueAsString(list); System.out.println(jsonString); return jsonString; } @ResponseBody @RequestMapping("getDepa") public String getDepa() throws JsonProcessingException{ ObjectMapper objectMapper = new ObjectMapper(); List<ErpDepa>list = depaService.getDepa(); String jsonString = objectMapper.writeValueAsString(list); System.out.println("部门的json是"+jsonString); return jsonString; } @RequestMapping("updateById") @ResponseBody public String updateById(String id){ staffService.updateById(id); return null; } @RequestMapping("getRole") @ResponseBody public String getRole() throws JsonProcessingException{ ObjectMapper objectMapper = new ObjectMapper(); List<ErpRole>list = roleService.findAll(); String json = objectMapper.writeValueAsString(list); System.out.println("权限:"+json); return json; } @ResponseBody @RequestMapping("add") public SsmMessage add(ErpStaff staff){
复制
List<ErpModel> model = modelService.finModel(); List<ErpModel> model2 = modelService.getModel(roleId); List<ErpRoleModel> model3 = roleModelService.getMessage(roleId); for (Iterator iterator = model.iterator(); iterator.hasNext();) { ErpModel erpModel = (ErpModel) iterator.next(); ZTree t = new ZTree(); t.setId(erpModel.getModelId()); t.setpId(erpModel.getErpModelId()); t.setName(erpModel.getModelName()); for (Iterator iterator2 = model2.iterator(); iterator2.hasNext();) { ErpModel erpModel2 = (ErpModel) iterator2.next(); if(erpModel.getModelId().equals(erpModel2.getModelId())){ t.setChecked("true"); } } for (Iterator iterator2 = model3.iterator(); iterator2.hasNext();) { ErpRoleModel erpRoleModel = (ErpRoleModel) iterator2.next(); if(erpModel.getModelId().equals(erpRoleModel.getModelId())){ t.setChecked("true"); } } tree.add(t); } return tree; } @RequestMapping("addModel") @ResponseBody public SsmMessage ModelAdd(String modelId,String roleId,String modelSubId){ SsmMessage mes = new SsmMessage(); String [] stringSplit = modelId.split(","); String [] stringSplit2 = modelSubId.split(","); System.out.println("stringSplit+++++++++++++++++++"+modelSubId+" "+modelId); roleModelSubService.deleteByPrimaryKey(roleId); roleService.deleteModel(roleId); for(int i = 0;i<stringSplit.length;i++){ ErpRoleModel model = new ErpRoleModel(); model.setRoleModelId(UUID.randomUUID().toString()); model.setRoleId(roleId); model.setModelId(stringSplit[i]); roleModelService.insertSelective(model); } for(int i = 0;i<stringSplit2.length;i++){ ErpRoleModelSubordinate sub = new ErpRoleModelSubordinate(); sub.setRoleId(roleId); sub.setModelId(stringSplit2[i]); sub.setSubId(UUID.randomUUID().toString());
复制
} /** * 查询单个采购或者生产详情 * @param price id * @return 单个对象 */ @RequestMapping("selectShowNew") @ResponseBody public SsmMessage selectShowNew(String indentId,String purcId,HttpSession session) { SsmMessage mes = new SsmMessage(); ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到人员session int rows = service.selectShowNew(indentId, purcId,staff.getStaId()); if(rows>-1){ mes.setMes("提交成功"); mes.setState(1); }else{ mes.setMes("提交失败"); mes.setState(0); } return mes; } } /** * XLe1丶 */
复制
modelService.updateByPrimaryKeySelective(model); } mes.setMes("ok"); return mes; } } /** * */ /** * 分店action */ @Controller @RequestMapping("/annex") public class AnnexAction { @Resource AnnexService service; /** * 查找所有分店的数量 * @return 分店数量 */
复制
/** * 显示和查询和分页(采购成品) * @param purcId * @param keywords * @return map */ @RequestMapping("/showAlls") @ResponseBody public Map<String,Object> showAlls(String keywords,String page,String limit){ Map<String,Object> mapPage = new HashMap<String,Object>();//定义Map集合 Pages pages = new Pages();//得到分页类 pages.setCurPage(Integer.valueOf(page));//当前页数 pages.setMaxResult(Integer.valueOf(limit));//每页显示最大条数 mapPage.put("pages", pages);//传入分页参数 //判断前台传值是否为空,如不为空则进行迷糊查询 if(keywords==null || "".equals(keywords)){ mapPage.put("keywords", "");//为空不传值 }else { mapPage.put("keywords", "%"+keywords+"%");//不为空传值模糊查询 } Map<String,Object> map = new HashMap<String,Object>();//定义Map集合用于将前台的值 List<ErpPurchase> list = erpPurchaseService.selectAlls(mapPage);//查询增加成品数据 map.put("code", 0); map.put("msg", ""); map.put("count", erpPurchaseService.purchaseFindRow(mapPage));//规定分页信息 map.put("data", list);//传入list return map;//返回map } /** * 删除(修改状态) * @param state * @param purcId * @return eph */ @RequestMapping("/delete") @ResponseBody public ErpPurchase delete(ErpPurchase isva , String purcId){ ErpPurchase eph = new ErpPurchase();//得到采购订单Model isva.setIsva(0);//得到状态值 isva.setPurcId(purcId);//传入采购ID int d_purcId = erpPurchaseService.updateByPrimaryKeySelective(isva);//进行修改 return eph;//返回eph } /** * 查看详情(采购,采购详情,原材料) * @param purcId * @return */ @RequestMapping("/showNews") @ResponseBody
复制
/** * 根据ID查询 * @param express * @return */ @RequestMapping("/showidQualit") @ResponseBody public ErpProindent showidQualit(String indentId){ return proindentService.showidQualit(indentId);//质检表查询单个对象 } /** * 生产订单审核 * @param indentId 生产订单id * @param state 审核状态 * @param feedBack 反馈信息 * @return 返回消息类 */ @ResponseBody @RequestMapping("/auditPpoindent") public SsmMessage auditPpoindent(String indentId,String state,String feedBack){ SsmMessage mes = new SsmMessage();//定义一个消息类用于返回jsp Map<String,Object>map = new HashMap<String,Object>();//定义一个map集合 if(Tools.isEmpty(feedBack)){//判断字符串是否为空 map.put("feedBack", "暂无反馈信息"); }else{ map.put("feedBack", feedBack);//map集合中存入 反馈消息 } map.put("indentId", indentId);//map集合中存入财务id map.put("state", state);//map集合中存入 审核是否通过 state=2 通过 state=0 不通过 int rows = proindentService.auditPpoindent(map); return mes; } } /** * */
复制
/** * 下拉框查询所有订单 * @return list */ @RequestMapping("/findByxl") @ResponseBody public List<ErpProindent> findByxl(ErpProindent dent){ List<ErpProindent> list=proindentService.findStation(); return list; } /** * 下拉框查询所有订单 * @param express * @return map */ @RequestMapping("/findByshowxl") @ResponseBody public List<Map<String, Object>> findByshowxl(ErpProindent dent){ List<Map<String, Object>> map=proindentService.findStationid(dent.getIndentId());//根据订单ID查询商品,下拉框 return map; } /** * 订单日志查询,根据商品,订单,日志,日志明细 * @param express * @return
复制
@RequestMapping("add") private SsmMessage add (@RequestParam(value = "kinId[]") String[] kinId,String fdprolistmxCount,String kinPrice,String fdprolistmxMoney,String fdproId,HttpSession session,String zong){ SsmMessage mes = new SsmMessage(); ErpStaff staff = (ErpStaff) session.getAttribute("staff"); String [] fdprolistmxCount1 = fdprolistmxCount.split(","); String [] fdprolistmxMoney1 = fdprolistmxMoney.split(","); int count = 0; for(int i =0;i<fdprolistmxCount1.length;i++){ count += Integer.valueOf(fdprolistmxCount1[i]); } Date date = new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Random random=new java.util.Random(); String fdId = UUID.randomUUID().toString(); if(fdproId==""){ ErpFdproform fd = new ErpFdproform(); String serial = sdf.format(date); serial+=random.nextInt(100); fd.setFdproId(fdId); fd.setFdproSerial(serial); fd.setAnnexId(staff.getAnnexId()); fd.setStaId(staff.getStaId()); fd.setFdproSumprice(Double.valueOf(zong)); fd.setFdproTime(String.valueOf(sdf1.format(date))); fd.setIsva("1"); fd.setFdproIsva(0); fd.setFdproWarecount(count); fdproformService.insertSelective(fd); for(int i = 0;i<fdprolistmxCount1.length;i++){ String dateTime = sdf.format(date); dateTime+=random.nextInt(100); ErpProlistmxsmall mall = new ErpProlistmxsmall(); mall.setFdprolistmxId(UUID.randomUUID().toString()); mall.setFdproId(fdId); mall.setKinId(kinId[i]); mall.setFdprolistmxNumber(dateTime); mall.setFdprolistmxMoney(Double.valueOf(fdprolistmxMoney1[i])); mall.setFdprolistmxCount(Integer.valueOf(fdprolistmxCount1[i])); mall.setFdprolistmxTime(sdf1.format(date)); mall.setIsva("1"); prolistmxsmallService.insertSelective(mall); } mes.setMes("add"); }else{ int rows = prolistmxsmallService.deleteFd(fdproId); if(rows>0){ ErpFdproform fd = new ErpFdproform(); for(int i = 0;i<fdprolistmxCount1.length;i++){ String dateTime = sdf.format(date);
复制
@RequestMapping("/addOrUpdate") @ResponseBody public int addOrUpdate(ErpPurchase record,String[] rawId,String[] number,HttpSession session){ int rows =0;//定义参数rows //判断前台传过来的值是否为空,为空就进入增加,不为空则进入修改 if(record.getPurcId()!=null && !"".equals(record.getPurcId())){ rows = erpPurchaseService.update(record);//修改 }else{ String time = Tools.getCurDateTime();//得到当前时间 record.setPurcTime(time);//增加采购时间 ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到人员session record.setPurcName(staff.getStaName());//session得到用户信息 record.setCreater("1");//设置采购原材料为1 record.setCreatetime(time);//创建时间 Double a = 0.0;//定义一个空数值 //循环取得原材料ID for(int i=0;i<rawId.length;i++){ ErpPurchaseDetails details2 = new ErpPurchaseDetails();//得到采购详细 String [] arr = rawId[i].split("~");//分割符号~ details2.setPurcTotalPrice(Double.valueOf(arr[1])*(Integer.valueOf(number[i])));//得到价格,数字转换 a = a + Double.valueOf(arr[1])*(Integer.valueOf(number[i]));//累加 record.setPurcTotalPrice(a);//增加加总价格 String serial = Tools.getDateOrderNo();//得到工具类中的订单编码格式 record.setPurcSerial("CG-"+serial);//增加订单编码格式 } rows = erpPurchaseService.insert(record);//添加到采购表中 for(int i=0;i<rawId.length;i++){ ErpPurchaseDetails details = new ErpPurchaseDetails();//得到采购详细 String [] arr = rawId[i].split("~");//分割符号~ details.setPurcTotalPrice(Double.valueOf(arr[1])*(Integer.valueOf(number[i])));//增加总价格,进行数字转换 details.setPurcTotalNumber(Integer.valueOf(number[i]));//增加总数量 details.setPurcId(record.getPurcId());//增加订单ID details.setRowId(arr[0]);//增加原材料ID rows = erpPurchaseDetailsService.insertSelective(details);//添加到订单详细表中 } } return rows;//返回rows } /** * 显示所有原材料(查询原材料表) * @return */ @RequestMapping("/showRawAll") @ResponseBody
复制